Here is what you need to add to your app's
deploy: provider: heroku app: your-app-name # optional if it's the same as your repo name api_key: "YOUR API TOKEN"
You should also encrypt your token (at least if you use this on a public repository).
If you have the travis tool installed, try the following:
travis setup heroku
We have looked into how people currently deploy to Heroku from Travis CI.
Given what people do in their scripts, we tried to make all the common deploy scenarios really easy. Here are a few.
Running migrations after deployment:
deploy: provider: heroku api_key: ... run: "rake db:migrate"
In a Ruby matrix, only deploy from Ruby 1.9.3:
rvm: - 1.9.3 - 2.0.0 deploy: provider: heroku api_key: ... on: rvm: 1.9.3
Deploy staging app from staging branch:
deploy: provider: heroku api_key: ... app: my-app-staging on: staging
Deploy staging app from master branch and production app from production:
deploy: provider: heroku api_key: ... app: master: my-app-staging production: my-app-production
For a description of all available options, check out the documentation.
All open source
In good Travis CI tradition, all the code is of course released under MIT license on GitHub. You are more than welcome to take a look and contribute.
More over, since we wanted to make it easy and testable, you can even run our internal tool locally (or lo and behold, use it on your Jenkins setup):
$ gem install dpl $ dpl --provider=heroku --api-key=`heroku auth:token`
More providers to come
As you might have guessed from the provider option, we are currently working on adding support for other providers besides Heroku.
However, for most other providers, we don't have a lot of real world examples of people already doing or planning to do continuous deployment from Travis CI. So if you do or plan to, you are more than welcome to get in touch.