概要
- 2019年末ごろに、Sentry上のエラーとリリースを関連付けられる機能が付いていました。
- これにより、エラーとリリースの関連付けができるようになります。
- 基本的にこのページの内容を踏襲してCircleCIにてdeployが終わった後にSentryに通知するように設定してみました。
コード
- .circleci/config.ymlの抜粋です。
- CircleCIのWorkflowを使っている場合はサンプルコードをそのまま使えないので、色々変更しています。
- SENTRY_AUTH_TOKENをCircleCIの環境変数に設定しておく必要があります。
version: 2.1
commands:
<snip>
sentry_setup_create_release:
steps:
- run: |
curl -sL https://sentry.io/get-cli/ | bash
export SENTRY_RELEASE=$(sentry-cli releases propose-version)
sentry-cli releases new -p $SENTRY_PROJECT $SENTRY_RELEASE
sentry-cli releases set-commits --auto $SENTRY_RELEASE
sentry-cli releases finalize $SENTRY_RELEASE
jobs:
create-sentry-production-release:
docker:
- image: circleci/node:latest
environment:
SENTRY_ORG: <YOUR_ORGANIZATION>
SENTRY_PROJECT: <YOUR_PROJECT_NAME>
SENTRY_AUTH_TOKEN: ${SENTRY_AUTH_TOKEN}
steps:
- checkout
- sentry_setup_create_release
create-sentry-development-release:
docker:
- image: circleci/node:latest
environment:
SENTRY_ORG: <YOUR_ORGANIZATION>
SENTRY_PROJECT: <YOUR_PROJECT_NAME>
SENTRY_AUTH_TOKEN: ${SENTRY_AUTH_TOKEN}
steps:
- checkout
- sentry_setup_create_release
workflows:
version: 2
build-deploy:
jobs:
<snip>
- create-sentry-production-release:
requires:
- deploy-production
filters:
branches:
only: master
<snip>
- create-sentry-development-release:
requires:
- deploy-development
filters:
branches:
only: develop
CircleCI上でbuildが成功すれば以下のような表示になります。実行時間は16秒。

Sentry上での表示は以下のような感じになります。

エラーが無いからわかりませんがリリース後に出たエラーはここに表示されるようです。便利!

関連ページ
CircleCIのorbがあって使えそうなのですが、なんか使えなかったので今回は自前でstepを書いています。
- https://circleci.com/orbs/registry/orb/adhawk/sentry-release
- https://circleci.com/orbs/registry/orb/mcquaig/sentry-release
Next step
- このあたりをやって、JavascriptのSDKからもバージョンを送る必要があるっぽい?
Releases
Learn how to provide Sentry with important information about your releases, such as release health and release details, ...


Comments