SonarQube の構成
Continuous Delivery は、2026年4月10日に以下の地域で販売終了となります: EU-es および jp-osa。 この中止は、Code Risk Analyzer および DevOps Insights を含む、サービス内で提供される機能にも適用されます。 詳細情報
Continuous Delivery は2027年2月12日に以下の地域で販売終了となります: au-syd、 ca-mon、 ca-tor、 us-east。 コード・リスク・アナライザーと DevOps Insights も、この日にすべてのリージョンで非推奨となる。 しかし、あるリージョンでこれらの機能がアクティブに使用されていない場合、そのリージョンの機能は早期に廃止され、新しいインスタンスの受け入れが停止される可能性がある。 詳細情報
SonarQube は、ソース・コードの全体的な正常性と品質の概要を提供し、新しいコード内で見つかった問題を強調表示します。 コード・アナライザーは、20 を超えるコーディング言語において、NULL ポインター間接参照などの注意を要するバグ、論理エラー、リソース・リークを検出します。
以下のようにして、ソース・コードの品質を継続的に分析および測定するように SonarQube を構成します。
-
コンソール IBM Cloud から、 メニュー アイコン(
) > プラットフォーム自動化 > ツールチェーンをクリックします。 「ツールチェーン」ページで、ツールチェーンをクリックしてその「概要」ページを開きます。
a. **「ツールの追加」**をクリックします。
b. 「ツール統合」セクションで**「SonarQube」**をクリックします。
-
SonarQube ツール統合のこのインスタンスの名前を入力します。
-
ツールチェーンから SonarQube カードをクリックしたときに開くようにしたい SonarQube インスタンスの URL を入力します。
-
オプション: SonarQube サーバーへの接続に使用するユーザー名を入力します。
ユーザー名の指定が必要なのは、SonarQube サーバーへの接続にパスワードを使用する場合のみです。 接続に認証トークンを使用する場合は、このフィールドを空のままにしてください。
-
SonarQube サーバーへの接続に使用するパスワードまたは認証トークンを入力します。
-
パブリック・インターネット上にサーバーが見つからない場合は、 拡張を選択します。 IBM Cloud は、提供された接続の詳細を検証できないため、このサーバーへの API アクセスを必要とする特定の機能が無効になります。 デリバリー・パイプラインは、このサーバーにネットワーク経由でアクセスできるプライベート・ワーカーを使用しないと機能しません。
-
「統合の作成」 をクリックします。
-
ツールチェーンの「概要」ページの**「サード・パーティー・ツール」カードで、「SonarQube」**をクリックして、接続先の SonarQube インスタンスのダッシュボードを表示します。
継続的統合パイプラインへの Sonarqube の追加
デフォルトの SonarQube インスタンス
独自の SonarQube インスタンスがない場合、パイプラインの実行中にパイプラインが SonarQube インスタンスを作成します。 そのインスタンスには、static-scan ステージの実行が完了した後にアクセスできます。
既存の SonarQube インスタンス
独自の SonarQube インスタンスを既存のパイプラインに追加するには、ツールチェーンにツール統合を追加してから、Sonarqube ツール統合パラメーターをパイプラインに追加します。
必須パラメーター
SonarQube スキャンを実行するには、パイプラインに以下の継続的統合パラメーターが必要です。
| 名前 | タイプ | 説明 | 必須またはオプションです |
|---|---|---|---|
| クラスター名 | テキスト | Docker ビルド・クラスターの名前。 | 必須 |
| dev-region | テキスト | クラスターをホストしている IBM Cloud リージョン。 | 必須 |
| opt-in-sonar | テキスト | sonarQube スキャンを有効にするオプション。 | 必須 |
| sonarqube | ツール統合 | Sonarqube ツール統合。 | オプション |
パイプラインのパラメーターについて詳しくは、パイプラインのパラメーターを参照してください。
複数の SonarQube ツール統合をパイプラインに追加した場合は、ツール統合パラメーターである sonarqube パイプライン・パラメーターの値を変更して、それらのツール統合を切り替えることができます。
品質ゲートの更新
パイプラインで作成された SonarQube インスタンスを使用する場合は、デフォルトの品質ゲートを更新できます。
-
static-scanタスクのパイプライン・ログの URL を使用して、作成された SonarQube ダッシュボードに移動します。
SonarQube ダッシュボード -
「品質ゲート (Quality Gates)」>**「作成」**をクリックします。
-
以下のいずれかのオプションを使用して、品質ゲートを設定します。
- **「既定として設定」**をクリックして、新規作成される品質ゲートをデフォルトとして設定します。
- ダッシュボードで、プロジェクトを選択してから、「プロジェクト設定」>**「品質ゲート (Quality Gate)」**をクリックして、新規作成される品質ゲートをそのプロジェクトに使用します。
-
プロジェクトに関連付ける品質ゲートを指定します。 新しいスキャンはこの品質ゲートで評価され、エビデンスはこの品質ゲートの結果から作成されるようになります。
SonarQube,、詳しくは SonarQube ドキュメントを参照。
独自の構成ファイルの使用
独自の SonarQube インスタンスを使用しなくてもデフォルトの構成を変更することができます。 作成した構成ファイルを格納するリポジトリーに、sonar-project.properties ファイルを作成します。 IBM のスクリプトは、リポジトリーで既存の構成ファイル configuration sonar-project.properties を検出すると、デフォルトのファイルの代わりにそのファイルを使用します。
コンフィギュレーション・ファイルで可能な分析パラメーターについては、 分析パラメーターを参照してください。
構成ファイルに正しいログイン資格情報とホスト URL を追加したことを確認してください。
別の静的スキャン実装の使用
.pipeline-config.yaml ファイルを変更して独自のカスタム・スクリプトを static-scan ステージに追加することで、独自の静的スキャン実装を使用できます。
API を使って SonarQube を設定する
ツール SonarQube 統合は 、ツールチェーン HTTP API および SDK を使用してツール統合 を作成、 読み取り、 更新する際に使用できる以下の構成パラメーターをサポートしています。
sonarqube 値を使用して、要求本体に tool_type_id プロパティーを指定する必要があります。
| パラメーター | 使用法 | タイプ | Terraform 引数 | 説明 |
|---|---|---|---|---|
| インデント接続 | 任意、更新可能、 Default: false |
ブール値 | インデント接続 | この統合の構成検証を無視するように Continuous Delivery に指示するには、 true に設定します。 また、 SonarQube サーバーがパブリック・インターネット上でアドレス可能でない場合は、 true に設定します。 |
| dashboard_url | 必須、更新可能 | ストリング | サーバー URL | このツール統合のためのサーバー URLSonarQube ダッシュボードの グラフィカルUIでは、ツール統合 SonarQube カードをクリックするとブラウザがこのダッシュボードに移動します。 |
| 名前 | 必須、更新可能 | ストリング | 名前 | このツール統合の名前。 |
| user_login | オプション、更新可能 | ストリング | user_login | SonarQube サーバーで認証するためのユーザー ID。 |
| user_password | オプション、更新可能 | パスワード | user_password | SonarQube サーバーで認証するためのパスワードまたはトークン。 このパラメーターには、ツールチェーン・シークレットの参照を使用できます。 秘密参照について詳しくは、 Continuous Delivery を参照してください。 |