Having issues deploy tracking in your app? Check the deploy troubleshooting doc.
Why track deploys?
Deploy Tracking with Airbrake gives insight into the relationship between your deploys and your errors. Here are a few of the benefits deploy tracking gives you:
- Resolve all errors on a deploy
- Project and error graphs show deploy markers
- Insight into which deploys introduced problems
- Insight into which deploys solved problems
- Generate backtrace links to click through to the offending lines of code
- Filter errors by deploy
Resolve all errors on a deploy
Triggering a deploy in your Airbrake project resolves all errors in the
environment this gives you a fresh slate each deploy so you can
tell which errors you fixed and which errors are still an issue.
Deploys show on your project’s error graphs
Deploys are marked with blue circles on your project’s graphs
Hovering over them will activate a tooltip with environment and timestamp information.
Deploys create backtrace links
Using deploy tracking creates helpful links in your backtrace so you can click through to the file/line/revision in GitHub/GitLab.
Filter errors by deploy
You can see your deploy activity on your project overview page and you can filter by a specific deploy in the search dropdown.
Deploy tracking with the API
You can track a deploy with the POST to the /v4/deploys api endpoint docs.
You want to trigger a POST each time you deploy, specifying at least your
environment in the JSON data. If you provide the
other keys this will enable us to build links in backtraces that link to your
Example curl command
Example bash script
This is a simple example that registers a deploy with Airbrake. It assumes it is
run from a Git repository of your deployed project code. You can tweak how the
REVISION is determined to suite your deploy process. Make sure you
check and modify the variables as appropriate for your project and requirements.
JSON post data description
You can post JSON data with the following keys. there are example
The API returns
201 Created status code on success.
Deploy tracking with
Deploy tracking requires the latest airbrake notifier. Be sure you have the latest version installed from github.
Once installed, your application will have a new rake task, here are some examples.
To Mark all Errors as Resolved for the
production environment you can use the
To Mark all Errors as Resolved for a specific environment, use the following format:
For example the following rake command will track a deploy to the
If you use Capistrano, you shouldn’t have to run the rake command by hand. The
Airbrake notifier also includes a Capistrano recipe that runs after
deploy:cleanup which automatically triggers that rake task.
In order to configure deploy tracking with Capistrano simply
integration in your Capfile:
# Capfile require 'airbrake/capistrano'
If you use Capistrano 3, define the
after :finished hook, which executes the
deploy notification task (Capistrano 2 doesn’t require this step).
# config/deploy.rb namespace :deploy do after :finished, 'airbrake:deploy' end
If you version your application, you can set the
:app_version variable in
config/deploy.rb, so that information will be attached to your deploy.
# config/deploy.rb set :app_version, '1.2.3'
Deploy tracking on Heroku
To implement Deploy Hooks on Heroku, please use one of the following options.
You can manually create the Deploy hook:
Or create it using rake:
Be sure to provide the app name for the rake task if you have multiple Heroku
apps configured. You can send it by setting the
The repository URL will default to the URL of the
origin remote. The
REPOSITORY_URL environment variable can be used to override this value.
Deploy tracking on Engine Yard Cloud
To notify Airbrake of your deploys to EngineYard cloud, you can use the
You can find more info on
config and its variables in the EngineYard doc on ruby deploy hooks.