Docker powered (mini) deployment system for PaaS.
Any system with a running Docker daemon will do!
Clone the repository:
$ git clone https://github.com/stefan-kolb/paasyard.git
Configure a config/provider.cfg
with your provider credentials (see config/provider.cfg.example
).
$ cat mv provider.cfg.example provider.cfg
# Heroku
HEROKU_USERNAME=
HEROKU_PASSWORD=
Build the Docker images and install the paasyard
executable:
$ sudo make install
Supported vendors:
$ paasyard list
bluemix
cloudcontrol
dotcloud
elasticbeanstalk
engineyard
heroku
openshift
pivotal
Define necessary environment variables inside the app folder in a .env
file (one per line).
$ cat .env
RAILS_ENV=production
MONGO_URL=mongodb://user:pass@example.com:59938
$ paasyard create VENDOR [-a APPNAME]
$ paasyard push VENDOR [-a APPNAME]
$ paasyard delete VENDOR [-a APPNAME]
- Deployment abstraction
- Quick deployment tests
- Isolated deployment measurements
$ time paasyard create heroku
real 6m22.759s
user 0m0.049s
sys 0m0.055s
- Beware that it's currently Ruby focused for some vendors (cloudControl, dotCloud, Beanstalk, OpenShift: Ruby 2.0).
- Only use
create -> push...push -> delete
workflow for safety now, as SSH keys are pushed on create and removed on delete only at the moment.