【そなーきゅーぶ】

SonarQube とは?

最終更新:
💡 コード品質の「健康診断」ツール
📌 このページのポイント
SonarQube — コード品質の継続的分析 ソースコード Git Push SonarQube 分析 バグ検出 脆弱性 コード臭 重複コード カバレッジ ダッシュボード 品質ゲート Pass / Fail バグ 誤動作の原因 脆弱性 セキュリティ問題 コード臭 保守性の低下 カバレッジ テスト網羅率 CI/CDパイプラインに組み込み、コード品質を自動チェック
SonarQubeによるコード品質分析の流れ
ひよこ ひよこ
ESLintとSonarQubeの違いは?
ペンギン先生 ペンギン先生
ESLintJavaScript/TypeScript専用のリンターで、主にコーディングスタイルと基本的なエラーを検出する。SonarQubeは多言語対応の品質分析プラットフォームで、セキュリティ脆弱性、コードの複雑度、重複コード、テストカバレッジまで総合的に分析する。ESLintはエディタ上でリアルタイムに動き、SonarQubeはCI/CDパイプラインで動くのが一般的だよ
ひよこ ひよこ
Quality Gateって何?
ペンギン先生 ペンギン先生
コードがマージされる前に満たすべき品質基準のこと。例えば「新規コードのカバレッジが80%以上」「重大なバグがゼロ」「セキュリティホットスポットが未レビューゼロ」のような条件を設定する。Quality Gateを通過しないとマージできないようにCI/CDに組み込むことで、品質の劣化を防ぐんだよ
ひよこ ひよこ
導入するメリットは大きい?
ペンギン先生 ペンギン先生
特にチーム開発で効果が大きいよ。コードレビューで指摘するような機械的なチェックをSonarQubeに任せれば、人間のレビューは設計やロジックに集中できる。技術的負債の可視化もできるから、マネジメント層への説明材料にもなる。セキュリティ脆弱性の早期発見という意味でもシフトレフトの実践ツールだね
ひよこ ひよこ
SonarCloudとの違いは?
ペンギン先生 ペンギン先生
SonarQubeはセルフホスト型で自社サーバーに設置する。SonarCloudはSonarSource社が提供するクラウドサービスで、GitHubAzure DevOpsと直接統合できる。オープンソースプロジェクトならSonarCloudが無料で使えるからおすすめだよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「SonarQube」って出てきたら「ソースコードの品質を自動チェックするツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「SonarQube」 = ソナー(探知機)+ キューブ
💬 Sonar(音波探知機)のようにコードの問題を探知する、というイメージだよ
← 用語集にもどる