Deployable helps teams deploy their projects easily. It helps you create Heroku-like application builds using buildpacks while giving you the ability to do Deployinator-esque one-click & easy deploys.
Deployable has a couple of opinions about deploys:
- Repositories must have different staging and production environments
- Builds are done automatically from GitHub webhooks
- Staging environments should be automatically deployed on successful builds
- Heroku Cedar-14 environments; your architecture should be language & application independent
- Confirmation from each author in order to deploy to production
-
You'll need to create a GitHub application key. Once you have this, you will then need to create a
config/config.jsonfile on the root directory of the project. See config/config.json. -
You'll need to create an SSH key with
ssh-keygenfor the user that is running Deployable. The public key will need to be added to.ssh/authorized_keyson each application server. -
Deployable looks for
deploy.shin your repository and uses it to restart your proccesses. It is good for this script to handle all states (stopped, running, etc). -
Afterwards, you'll need to setup your repositories and deployment environments in
config/repos.json. See config/repos.json.example for possible options. -
Then, make sure you have Node.js installed on your machine. Afterwards, you can run
npm installwhich install all dependencies and build the application. -
Run deploy.sh to start Deployable. It will run on port 3000 by default. You can also run this script in a
@rebootcronjob or when yougit pull.
MIT