🙌

New RelicをCircleCIと連携してみた

2023/12/14に公開

本記事は New Relic 使ってみた情報をシェアしよう! by New Relic Advent Calendar 2023 シリーズ2 および CircleCI Advent Calendar 2023 14日目の記事です。

はじめに

開発プロセスを自動化していますか? コードは(CoPilotのサポートで?)人間が書くとしても、ビルド、テスト、リリース、デプロイが人に依存しない(担当者が会社休んでいるとか、人間関係のあれこれで頼みづらいとか)と、開発のスピードは大幅にアップしますね。

ただ、CI/CDは手作業でやっていたことが自動化されてバンザイ!というところだけに価値があるのではなく、さまざまなデータ(一日に何回ビルドしたとか、失敗したとか、時間がどの程度かかったとか、問題からの復旧にどれだけ時間がかかったかとか)をストップウォッチを使って計測したり、アンケートをとって回ったり、スプレッドシートにデータをまとめなくても、「今」の開発/運用現場の状況をリアルタイムで捉えることができるという点は、もっともっと強調されていいかと思います。

ということで、「現場の今」を可視化すべく、CircleCIとNew Relic、連携してみましょう!
(Developer friendlyな両社のサービスということもあり、どちらもフリープランで始められますよ!)

ゴール

こんなダッシュボードがNew Relic上で見られます👏

連携手順

New Relicさんのサイトにドキュメントが用意されているので、そちらをご覧ください。

本記事は公式ドキュメントと違って、

  • 日本人(人間)が日本語で書いている
  • スクショを多めに貼っておいた

といったところがプラスアルファになっていればと思います。

[CircleCI] CircleCIにログイン

まずはお使いのCircleCIにログインしましょう。まだアカウントをお持ちでなければ、毎月6000分までは無料でご利用いただけるFreeプランにぜひご登録下さいませ。今年はCircleCIも(以前はGitHubやBitbucketのアカウントでログインしていたのを)独自のアカウントを持ち出したので、サインアップの方法も私のほうでQiitaに記事を書きました。

CircleCIのログイン画面はこんな感じです。

2023年9月以前にユーザ登録された方(つまり、GitHubやBitbucketのアカウントでCircleCIにログインする方)は青い枠で囲まれた Signed up with GitHub or Bitbucket before September 2023? というリンクを、それ以降にユーザ登録された方は赤い枠で囲まれた Log In with Email ボタンをクリックしてください。

[CircleCI] ログ収集したいプロジェクトに移動する

次にCircleCIでCI/CDワークフローを実行しているプロジェクトを開きます。サンプルとしてご紹介しているのは、cci-test-yolov8-mask-model というマスクを着用している/していないを画像認識で検出し、テストするプロジェクトです。

このプロジェクトに関しては、公式ブログに私が説明した記事があるので、よろしければご覧ください。

[CircleCI] Webhook の追加

プロジェクト画面の左側サイドバーに Webhook という項目があるので、こちらをクリックします。すると、下のような画面が表示されるので、Add Webhook ボタンをクリックしてください。

このプロジェクトに関しては、公式ブログに私が説明した記事があるので、よろしければご覧ください。

[CircleCI] Webhook の追加

プロジェクト画面の左側サイドバーに Webhook という項目があるので、こちらをクリックします。すると、下のような画面が表示されるので、Add Webhook ボタンをクリックしてください。

[NewRelic] CircleCI用ダッシュボードのインストール

ここから New Relic 側の作業に移ります。New Relicにログインした状態で、CircleCI Quickstartページにアクセスすると、画面中央に Install Now ボタンが表示されているので、こちらをクリックします。

すると、インストール画面が表示されるので、Begin Installatioon ボタンをクリックします。

ここからステップを追って、インストールを進めていきます。インストールドキュメントを参照するには、See installation docs ボタンをクリックします。確認したら Done ボタンをクリックします。

最後は、CircleCI (dashboard) をデプロイした旨のメッセージが表示されるので、See your data ボタンをクリックしてダッシュボードに移動します。

[NewRelic] CircleCI用ダッシュボードを表示

先ほどのSee your data ボタンをクリックするか、New RelicのDashboardsメニューからCircleCI用ダッシュボードを選択すると、下のようなダッシュボードが表示されます。

ただし、この時点ではWebhookを設定して以降、当該プロジェクトでワークフローを実行していないのであれば、データとしては何も表示されません。実際にワークフローを実行すると、こんな感じでデータがWebhook呼び出しのタイミングでリアルタイムに反映され、表示されます!

本記事を文字で追っていると、何やらいろいろ設定作業があるなーという印象があるかもしれませんが、実際に手を動かしてみると「なんでこれまで使ってこなかったんだろう」というくらいの簡単さです。

さいごに

New Relicを使うことでCircleCIのダッシュボード以外にも開発や運用をサポートするさまざまな機能が利用可能になります。私にとっては、CircleCIのダッシュボード機能がNew Relic初利用のきっかけとなりましたが、これまでNew Relicを使ってみたかったものの、きっかけがなかったという方の参考になり、背中を押すことができていれば幸いです。

Discussion