Deployment
Releases

Every time you deploy an application or change its environment a new Release is created. You can promote any Release for an application to deploy it. Promoting a Release will cause a rolling update that gracefully deploys the desired Release.

Releases will automatically be created:

  • Once a build artifact is created through any of the methods mentioned above.
  • When you update your environment variables in the Console.
  • When you update your environment variables from the CLI.

You can see the list of all releases, and which one is currently active for your app in the Console under the ‘Releases’ tab, or via the CLI by running convox releases.

convox releases
ID           STATUS  BUILD        CREATED      DESCRIPTION
ROCHMCOUESG  active  BBLTITAIGHI  1 week ago   build 7329df90c1 this is my commit message
RCTSJKKLHXJ          BNNJBWFAWYJ  2 weeks ago  env add:FOO change:BAR remove:BAZ
RVUGSLANDXU          BNNJBWFAWYJ  2 weeks ago
RIHVPQXQWSR          BRMUBCYGSWH  3 weeks ago

Promoting a Release

Console

  • Click the Promote button next to the Release you would like to promote.

CLI

  • Run convox releases promote <id>

When a Release is promoted, new processes are gracefully rolled out into production. If there are errors starting new processes, new processes are not verified as healthy, or the rollout doesn’t complete in 10 minutes, an automatic rollback is performed.

If running a convox deploy then the Release will automatically be promoted with a rolling deployment across your Rack. Environment variable changes performed from the Console will cause a new Release to be created and then promoted once you click on ‘Apply Changes’.

Releases created from a straight convox build or an environment update from the CLI will need to be promoted. This can be done from the Console by clicking on the ‘Promote’ button when looking at the Release list for an app. Alternatively you can convox releases promote <release id> from the CLI.

Release Descriptions

When creating a build using the CLI, you can use the --description/-d flag to set your own description against the release. If you don’t, Convox will use your git commit message (assuming a clean working tree) to populate the description:

build 7329df90c1 this is my commit message

If you create a new release by updating environment variables, the release description will give a summary of the changes:

env add:FOO change:BAR remove:BAZ