New Relic APMでデプロイメントを記録できることは以前の記事でもご紹介しました。
https://blog.newrelic.co.jp/devops/deployment-tracking/
REST API形式ですのでスクリプトに埋め込むことも比較的容易です。一方、最近ではデプロイメントワークフローとして利用できるサービスも増えています。その中の一つであるGitHub Actionsで使えるデプロイメント記録アクションをNew Relicでは提供しています。
https://github.com/marketplace/actions/new-relic-application-deployment-marker
本日はこちらの使い方を紹介したいと思います。
まず、GitHub Actionsの定義ファイルを編集します。GitHub上で編集するとこのようにNew RelicがActionの一覧に表示されます。
選択するとテンプレートが表示されるので、コピー&ペーストします。ローカルで編集している場合はサンプルの定義ファイルを使います。
指定が必要なパラメーターは、パーソナルキー、アカウントID、アプリケーションIDの3つです。パーソナルキーは、REST API形式でデプロイメントを記録するときに必要なREST API キーとは異なるので注意してください。パーソナルキーは、New Relicの画面左上のAccount SettingsからUser and Rolesを開き、ユーザー一覧を表示します。
取得するユーザーをクリックして表示される画面でAPIキーを作成します。
アカウントIDとアプリケーションIDについては以前はURLに含まれていたのに、New Relic OneベースのUIではURLが複雑になったためすぐにわからないという方もいるかもしれません。そんな場合はAPMのアプリケーションの画面でアプリケーション名の横のiアイコンをクリックしてください。
すると画面の右側にこのような情報が表示され、必要な情報をコピーできます。
これらの情報はGitHub ActionsのSecretに格納し、コミット情報などを変数から取得すると、例えばこのような定義になります。
- name: New Relic Application Deployment Marker
uses: newrelic/deployment-marker-action@v1.0.0
with:
apiKey: ${{secrets.NewRelicPersonalAPIKey}}
accountId: ${{secrets.NewRelicAccountID}}
applicationId: ${{secrets.NewRelicApplicationID}}
revision: ${{github.sha}}
description: ${{github.event.head_commit.message}}
あとはこの定義を含んだGitHub Actionを実行するとデプロイメントをいままで通りに記録できます。
なお、このGitHub Actionはcontainer actionを利用しているためLinux OSでしか動きません。Windowsにも対応してほしい、ほかのCI/CDサービスにも同じものを提供してほしいなどありましたら、ぜひご意見をお寄せください。
이 블로그에 표현된 견해는 저자의 견해이며 반드시 New Relic의 견해를 반영하는 것은 아닙니다. 저자가 제공하는 모든 솔루션은 환경에 따라 다르며 New Relic에서 제공하는 상용 솔루션이나 지원의 일부가 아닙니다. 이 블로그 게시물과 관련된 질문 및 지원이 필요한 경우 Explorers Hub(discuss.newrelic.com)에서만 참여하십시오. 이 블로그에는 타사 사이트의 콘텐츠에 대한 링크가 포함될 수 있습니다. 이러한 링크를 제공함으로써 New Relic은 해당 사이트에서 사용할 수 있는 정보, 보기 또는 제품을 채택, 보증, 승인 또는 보증하지 않습니다.