I am developing a ruby on rails website using heroku and git.
What tools and features should I use to set up the following simple development process?
CODE > CHECK-IN > AUTO TEST > AUTO DEPLOY
- I check my code into my repository (preferred option, hosted git like github)
- Tests are automatically run AND website is deployed in my staging heroku app
- If tests pass, the website is automatically deployed on my production heroku app
- If tests fail, I want to be notified somehow.
How would you do this?
We use Integrity. It is a pretty simple solution – it won’t do everything under the sun, but it’s quite easy to set up and handles the most common use cases/features. It’s also pretty easy to hack on, if you want it to do more.
Integrity states:
However:
This is because your Integrity app will need an SSH key. It’s not impossible, but definitely a few hoops to jump through. You’ll need to give Integrity a private key and put it in the app, and then hack Integrity to use that ssh key when it initiates the
git clone.Of the things you listed, the automatic deploy is probably the thing most people would not expect their CI server to do (and Integrity does not provide out of the box). You’ll need to configure git to use that ssh key and initiate a
git pushfrom the proper location (the checked out repository).Unfortunately I don’t know the details of how to do this–we actually run Integrity on a VPS.