SonarQube の Pull Request 解析コメントでプロジェクト名を表示する

11430 ワード

SREホールディングス株式会社のエンジニアの小澤です。
主にサーバーサイド・インフラ方面を担当していて、今は特にCI/CD整備や各種自動化に取り組んでいます。
今回は弊社で静的コード解析に利用している SonarCloud (SonarQubeのSaaS版) の Pull Request 解析が付ける GitHub のコメントで、スキャン対象のプロジェクト名を表示させるという小ネタを紹介します。

対象読者

  • プロジェクトで SonarQube/SonarCloud を利用
  • GitHub上で1つのレポジトリで複数プロジェクトを管理 (モノレポ構成)
  • CI/CD プラットフォームに GitHub Action を利用

経緯と課題

弊社のプロジェクトでは静的コード解析にSonarCloudを利用しています。GitHubにPull Requestを作成すると自動的に解析が走り、以下のようなコメントが付きます。

これにより新規に追加されたコードについて

  • バグっぽいコード
  • 脆弱性に繋がりそうなコード
  • 臭いコード(可読性や保守性を低下させるコード)
  • テストカバレッジ

といった指摘を行ってくれるので、コード品質の向上やレビュー時間の削減などに大いに役立っています。
しかし、1つのレポジトリで複数のプロジェクトをビルドする場合、Pull Request 解析が複数回走ることで上記のコメントが複数付くことがあります。この時各コメントがどのプロジェクトのことを指しているのか一目で区別できないため不便です。
SonarSourceのコミュニティで同様の悩みを持っている人はいないか調べたところ、一応見つかりました。