Engine Yard Deployment
This page documents deployments using dpl v1 which currently is the default version. The next major version dpl v2 will be released soon, and we recommend starting to use it. Please see our blog post for details. dpl v2 documentation can be found here.
Travis CI can automatically deploy your Engine Yard application after a successful build.
For a minimal configuration, all you need to do is add the following to your
deploy: provider: engineyard api_key: "YOUR API KEY"
You can also use
password instead of
api_key. It is recommended to encrypt the key/password.
Optional settings include:
You can also have the
travis tool set up everything for you:
$ travis setup engineyard
Keep in mind that the above command has to run in your project directory, so it can modify the
.travis.yml for you.
Application or Environment to deploy #
By default, we will try to deploy to an application by the same name as the repository. For example, if you deploy an application from the GitHub repository travis-ci/travis-chat without explicitly specify the name of the application, Travis CI will try to deploy to a Engine Yard app named travis-chat.
You can explicitly set the name via the app option:
deploy: provider: engineyard api_key: ... app: my-app-123
It is also possible to deploy different branches to different applications:
deploy: provider: engineyard api_key: ... app: master: my-app foo: my-foo
This branch specific settings are possible for all options (except
on) and can be very useful for deploying to different environments:
deploy: provider: engineyard api_key: ... environment: master: staging production: production
Branch to deploy from #
If you have branch specific options, as shown above, Travis CI will automatically figure out which branches to deploy from. Otherwise, it will only deploy from your master branch.
You can also explicitly specify the branch to deploy from with the on option:
deploy: provider: engineyard api_key: ... on: production
Alternatively, you can also configure it to deploy from all branches:
deploy: provider: engineyard api_key: ... on: all_branches: true
Builds triggered from Pull Requests will never trigger a deploy.
Running migrations #
You can trigger migrations by using the migrate option:
deploy: provider: engineyard api_key: ... migrate: "rake db:migrate"
Conditional releases #
You can deploy only when certain conditions are met.
See Conditional Releases with