![alt text](https://deployit.io/images/cdn/logo-purpure.png)
Deploy It is an open-source command-line toolkit and daemon in one application, which allows you to deploy applications to server.
Deploy It fetches code from current directory, request or repo, build it and deploy it to server.
Deploy It uses powerful containers, that means that your app will be run anywhere, from your development environment on your laptop to any large scale cloud hosting.
You can run deploy it daemon on the host where you want to deploy your applications (it can be local or remote), run CLI with this host and your applications will be deployed on specified host.
This project has Roadmap, feel free to offer your features.
Look at our Changelog to see project progress!
We are actively searching for contributors! If you want to help our project and to make developers life easier, please read our Contibuting guideliness.
We have benefits for active contributors!
![Image alt text](https://deployit.io/images/cdn/deployy_2.gif)
Table of contents
- Key features
- Prerequisites
- How to install
- Current CLI commands
- Help
- Maintainers
Key features
- Fast application deploying to any server
- Easy application sharing
- Easy application management
- Deploying application with url/hub (like docker hub)
- Deploying scheduling
- Deploying services like redis, rabbitmq, mysql, etc.
Prerequisites
CLI:
Daemon:
- Docker
- Go 1.6 or higher
- Git
How to install
- Download Deploy it
$ git clone git@github.com:deployithq/deployit.git
$ cd deployit
$ make build
- Start daemon on host, where you want to deploy your apps
$ sudo deploy daemon
- Clone sources and run
$ deploy it
command while in sources directory
$ git clone https://github.com/<username>/<repo>
$ cd <repo>
$ deploy it --host localhost --port 3000 --tag latest
Current CLI commands
Daemon
Install daemon on the host, where you want to deploy your apps
Run $ sudo deploy daemon
Daemon flags:
- [--debug] Shows you debug logs
- [--port] Port, which daemon will listen
- [--docker-uri] Docker daemon adress
- [--docker-cert] Docker client certificate
- [--docker-ca] Docker certificate authority that signed the registry certificate
- [--docker-key] Docker client key
It:
- Go to folder with your application source code
- Run
$ deploy it --host localhost --port 3000 --tag latest --log
What magic is behind $ deploy it
command:
- CLI scans all files
- CLI creates hash table for scanned files
- CLI packs needed files into tar.gz
- CLI sends all files to daemon via HTTP
- DAEMON unpacks tar.gz
- DAEMON builds unpacked sources
- DAEMON deploys app to host where daemon is running
App start/stop/restart/remove
- Go to folder with your application source code
- Run
$ deploy app --host localhost --port 3000 start
Common flags
These flags are suitable for all commands except daemon.
Deploy it flags:
- [--debug] Shows you debug logs
- [--tag] Version of your app, examples: "latest", "master", "0.3", "1.9.9", etc.
- [--host] Adress of your host, where daemon is running
- [--port] Port of daemon host
- [--ssl] HTTPS mode if your daemon uses ssl
- [--log] Show build logs
Future commands
- deploy git
- deploy hub
- deploy app logs
- deploy it at 4:00 pm for 2 hours
- deploy redis/mysql/mongodb/rabbitmq ...
Help
All information about Deploy It is available via following commands:
Brief info about all commands
$ deploy --help
Deploy it command
$ deploy it --help
Daemon
$ deploy daemon --help
Help about other commands:
$ deploy <command> --help
Maintainers
We have separated maintainers page here: MAINTAINERS.md
Authors
Alexander: https://github.com/undassa
Konstantin: https://github.com/unloop
Bogdan: https://github.com/gofort