📘
Sentry+Github Actionsでリリース送信
目的
Sentry上でいろんなメトリクスを管理していく上で、どのリリースによるものなのかを管理する必要があったため設定した。
Nextは標準のパッケージ使えば特に設定しなくてもリリース情報が送信されるようになっているが、CIに絡めたかったので、下記利用
sentry-release.yml
monorepo管理しているので、アプリケーションごとにリリースを作ってみた。
sentry-release.yml
name: Sentry Release
on:
push:
tags:
- 'v*'
jobs:
sentry-release:
runs-on: ubuntu-latest
steps:
- name: Get tag
id: tag
uses: dawidd6/action-get-tag@v1
with:
strip_v: true
- name: Checkout repository
uses: actions/checkout@v2
with:
token: ${{secrets.PERSONAL_TOKEN}}
ref: ${{ github.head_ref }}
- name: Create Sentry release for next
uses: getsentry/action-release@v1
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN_CI }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT_NEXT }}
with:
environment: production
version: ${{steps.tag.outputs.tag}}
- name: Create Sentry release for laravel
uses: getsentry/action-release@v1
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN_CI }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT_LARAVEL }}
with:
environment: production
version: ${{steps.tag.outputs.tag}}
リリースはわかりやすく、git tag
情報を使いたかったので、こちらも既存のアクション利用
エラー:Commit not found
コミットないんですけどー、的なエラーが出た時はそもそも、GithubとSentryのインテグレーション設定でレポジトリへのアクセスを許可しているのかチェック。
プライベートリポジトリの場合には設定で許可してあげないと、アクセスできなくて上記のようなエラーが出たりする。
Discussion