Tracking deployments
Honeybadger has an API to keep track of project deployments. Whenever you deploy, all errors for that environment will be resolved automatically. You can choose to enable or disable the auto-resolve feature from your Honeybadger project settings page.
Deploying with GitHub Actions
Section titled “Deploying with GitHub Actions”If your CI/CD pipeline is hosted with GitHub Actions, you can use the Honeybadger Deploy Action to notify our API about deployments.
Deployment tracking via command line
Section titled “Deployment tracking via command line”We provide a CLI command to send deployment notifications manually. Try the following command for the available options:
bundle exec honeybadger help deployHere’s an example of using the CLI to send a deployment notification:
bundle exec honeybadger deploy \ --repository https://github.com/myorganization/myrepo \ --revision $(cat REVISION) \ --environment production \ --user $(whoami)Heroku deployment tracking
Section titled “Heroku deployment tracking”Deploy tracking via Heroku is implemented using Heroku’s app webhooks. To set up the webhook, run the following CLI command from your project root:
bundle exec honeybadger heroku install_deploy_notificationIf the honeybadger CLI command fails for whatever reason, you can add the deploy hook manually by running:
heroku webhooks:add -i api:release -l notify -u "https://api.honeybadger.io/v1/deploys/heroku?repository=git@github.com/username/projectname&environment=production&api_key=asdf" --app app-nameIf you are using our EU stack, you should use eu-api.honeybadger.io instead of
api.honeybadger.io in the webhook URL.
For more about manual use of Heroku deploy tracking, see the Heroku Deployments guide.
You should replace the repository, api_key, and app options with your own
values. You may also want to change the environment (set to production by
default).
Kamal deployment tracking
Section titled “Kamal deployment tracking”You can use Kamal’s post-deploy hook to send a deployment notification to
Honeybadger. Add the following snippet to .kamal/hooks/post-deploy:
bundle exec honeybadger deploy \ --repository https://github.com/your_org/your_repo \ --revision $KAMAL_VERSION \ --environment production \ --user $KAMAL_PERFORMERCapistrano deployment tracking
Section titled “Capistrano deployment tracking”In order to track deployments using Capistrano, simply require Honeybadger’s
Capistrano task in your Capfile file:
require "capistrano/honeybadger"If you ran the honeybadger install command in a project that was previously
configured with Capistrano, we already added this for you.
Adding options to your config/deploy.rb file allows you to customize how the deploy task is executed. The syntax for setting them looks like this:
set :honeybadger_env, "preprod"You can use any of the following options when configuring capistrano.
| Option | |
|---|---|
honeybadger_user | Honeybadger will report the name of the local user who is deploying (using whoami or equivalent). Use this option to to report a different user. |
honeybadger_env | Honeybadger reports the environment supplied by capistrano by default. Use this option to change the reported environment. |
honeybadger_api_key | Honeybadger uses your configured API key by default. Use this option to override. |
honeybadger_async_notify | Run deploy notification task asynchronously using nohup. True or False. Defaults to false. |
honeybadger_server | The api endpoint that receives the deployment notification. |
honeybadger | The name of the honeybadger executable. Default: “honeybadger” |
honeybadger_skip_rails_load | Skip loading the Rails environment during deploy notification. |
Ruby deployment tracking
Section titled “Ruby deployment tracking”You can also track a deployment from the honeybadger Ruby gem with
Honeybadger.track_deployment:
Honeybadger.track_deployment( environment: Rails.env, revision: `git rev-parse HEAD`.strip, local_username: `whoami`.strip, repository: "git@github.com:user/example.git")