411 文字
2 分
Sentryでreleaseと紐付けたエラートラッキング

概要#

  • 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を書いています。

Next step#

  • このあたりをやって、JavascriptのSDKからもバージョンを送る必要があるっぽい?

https://docs.sentry.io/workflow/releases/index?platform=javascript#configure-sdk

Sentryでreleaseと紐付けたエラートラッキング
https://blog.teraren.com/posts/sentry-release-circleci/
作者
Yuki Matsukura
公開日
2020-04-18
ライセンス
CC BY-NC-SA 4.0

コメント