New Relic の変更追跡機能をGitHub Actionsと組み合わせて使用して、顧客やシステムに対する変更の影響を監視できます。GitHub Actions を使用すると、監視する変更を指定して、New Relic UI で結果を確認できます。これにより、リリース パイプライン中に環境で行った変更を追跡できます。
入力
入力要素は次のとおりです。
鍵 | 必須 | デフォルト | 説明 |
---|---|---|---|
| そう | 該当なし | 変更マーカーを適用するエンティティ GUID |
| そう | 該当なし | New Relic の個人用 API キー |
| ノー | 該当なし | Change trackingページに表示されるこの変更の概要 |
| ノー | 該当なし | Change trackingページに表示されるこの変更のコミット SHA |
| ノー | 該当なし | この変更の概要説明。 Overviewページと、個々の変更を選択するとChange trackingページに表示されます。 |
| ノー | 該当なし | 変更を引き起こしたソースへのディープリンク |
| ノー |
| デプロイメントのタイプ。デフォルトの |
| ノー | 該当なし | 他の変更にリンクするための変更のグループ ID |
| ノー |
| New Relic アカウントのリージョン |
| そう | 該当なし | 最新リリースタグなど、変更マーカーに適用するメタデータ |
| そう |
| OverviewページとDeploymentsページに表示される変更に関連付けるユーザー名 |
使用例
GitHub シークレット
次のGithub シークレットが設定されていることを確認します。
NEW_RELIC_API_KEY
- パーソナル API キーNEW_RELIC_DEPLOYMENT_ENTITY_GUID
- マーカーを作成するための New Relic Entity GUID
New Relicアプリケーション デプロイメント マーカーページを確認し、Use latest version ボタンをクリックして、利用可能な最新バージョンを使用していることを確認してください。
これらの例でも使用されているデフォルトの GitHub 環境変数が多数あります。
最低限必要なフィールド
name: Change Tracking Markeron: release: types: [published]
jobs: newrelic: runs-on: ubuntu-latest name: New Relic steps: # This step builds a var with the release tag value to use later - name: Set Release Version from Tag run: echo "RELEASE_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV # This step creates a new Change Tracking Marker - name: New Relic Application Deployment Marker uses: newrelic/deployment-marker-action@v2.3.0 with: apiKey: ${{ secrets.NEW_RELIC_API_KEY }} guid: ${{ secrets.NEW_RELIC_DEPLOYMENT_ENTITY_GUID }} version: "${{ env.RELEASE_VERSION }}" user: "${{ github.actor }}"
すべての入力フィールド
NEW_RELIC_API_KEY
に加えて、この例では、「NEW_RELIC_DEPLOYMENT_ENTITY_GUID_<ID>
」のような複数のシークレットを格納することで、複数のアイテムをターゲットにする方法を示しています。ここで、<ID>
はターゲット アイテムの一意の識別子です。
NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App123NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App456NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App789
name: Change Tracking Markeron: workflow_dispatch: release: types: [published]
jobs: newrelic: runs-on: ubuntu-latest name: New Relic steps: # This step builds a var with the release tag value to use later - name: Set Release Version from Tag run: echo "RELEASE_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV # This step creates a new Change Tracking Marker for App123 - name: App123 Marker uses: newrelic/deployment-marker-action@v2.3.0 with: apiKey: ${{ secrets.NEW_RELIC_API_KEY }} guid: ${{ secrets.NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App123 }} version: "${{ env.RELEASE_VERSION }}" changelog: "https://github.com/${{ github.repository }}/blob/master/CHANGELOG.md" commit: "${{ github.sha }}" description: "Automated Release via Github Actions" deploymentType: "ROLLING" groupId: "Workshop App Release: ${{ github.ref_name }}" user: "${{ github.actor }}" # This step creates a new Change Tracking Marker for App456 - name: App456 Marker uses: newrelic/deployment-marker-action@v2.3.0 with: apiKey: ${{ secrets.NEW_RELIC_API_KEY }} guid: ${{ secrets.NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App456 }} version: "${{ env.RELEASE_VERSION }}" changelog: "https://github.com/${{ github.repository }}/blob/master/CHANGELOG.md" commit: "${{ github.sha }}" description: "Automated Release via Github Actions" deploymentType: "ROLLING" groupId: "Workshop App Release: ${{ github.ref_name }}" user: "${{ github.actor }}" # This step creates a new Change Tracking Marker for App789 - name: App789 Marker uses: newrelic/deployment-marker-action@v2.3.0 with: apiKey: ${{ secrets.NEW_RELIC_API_KEY }} guid: ${{ secrets.NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App789 }} version: "${{ env.RELEASE_VERSION }}" changelog: "https://github.com/${{ github.repository }}/blob/master/CHANGELOG.md" commit: "${{ github.sha }}" description: "Automated Release via Github Actions" deploymentType: "ROLLING" groupId: "Workshop App Release: ${{ github.ref_name }}" user: "${{ github.actor }}"
次のステップ
追跡したい変更を指定したら、New Relic UI でそれらの変更の影響を分析できます。詳細については、 New Relic で変更を表示および分析する方法 を参照してください。