CI Quality Gate
CI Quality Gate を使用すると、継続的インテグレーション (CI) ビルドがそれに含まれている問題に基づいて合格となるか失格となるか判断される基準を定義することができます。そうすることで、カスタムスクリプトが置き換えられ、CI/CD ワークフローが、一貫性のある、組み込みの‑Validation に適合するものとなります。
CI ビルドがプロジェクトにロードされると、構成された Quality Gate クエリを使用して、Validate が自動的にビルドを評価します。クエリに一致する問題がある場合は、ビルドが Quality Gate: Failed とマークされます。
Quality Gate は (--ci-build を使用して作成された) CI ビルドにのみ適用されます。
Quality Gate はプロジェクトレベルおよびストリームレベルで構成することができ、Validate、コマンドライン (kwadmin/validate admin)、または Web API を使用して設定することができます。
CI Quality Gate の仕組み
Quality Gate は、[指摘] ページで使用されるのと同じ検索構文 (分類基準フィルター、ステータスフィルター、参照フィルターなど) を使用して定義されます。入力された Quality Gate 値に、制限された用語またはサポートされていない文字が含まれている場合は、ユーザーの参考となる提案メッセージがフィールドの下に表示されます。
Validate は、受け取った各 CI ビルドを以下のように評価します。
-
PASSED (合格):クエリに一致する問題はありません。
-
FAILED (失格):クエリに一致する問題が 1 つ以上あります。
-
NOT SET (未設定):Quality Gate が設定されていないため、ステータスバッジは表示されません。
ストリームが CI Quality Gate を継承する方法
デフォルトでは、ストリームは親プロジェクトから CI Quality Gate を継承します。
-
ストリームが親の Quality Gate を継承する場合、継承された値がプロジェクトの編集ダイアログに表示されます。
-
ストリームは、独自の値を指定することで、継承された Quality Gate をオーバーライドできます。
-
Quality Gate をオーバーライドすると、明示的に継承を復元しない限り、ストリームは親プロジェクトからの更新を受信しなくなります。
この継承モデルを使用すると、プロジェクトレベルでデフォルトの CI Quality Gate を定義しつつ、個々のストリームに対して適用をカスタマイズできます。
プロジェクトとストリームの CI Quality Gate を構成する
プロジェクトを作成する際、または既存のプロジェクトやストリームを編集する際に、CI Quality Gate を構成できます。これにより、Quality Gate の構成が一元化され、すべての CI ワークフローで一貫した動作が保証されます。この構成は、以前「CI ビルド」タブで利用可能だった設定に代わるものです。
プロジェクト作成時に CI Quality Gate を構成する
新しいプロジェクトを作成する際に、必要に応じてプロジェクトの作成ダイアログで CI Quality Gate を定義できます。
-
Quality Gate を指定すると、プロジェクトの CI Quality Gate として保存されます。
-
Quality Gate を指定しない場合、CI Quality Gate は適用されません。
-
プロジェクトを作成した後、「CI ビルド」タブで構成済みの Quality Gate を表示および編集できます。
既存のプロジェクトまたはストリームの CI Quality Gate を更新する
既存のプロジェクトまたはストリームを編集する場合、「プロジェクトの編集」ダイアログには、現在の CI Quality Gate が表示され、以下の動作を示します。
-
値を更新すると、そのプロジェクトまたはストリームの CI Quality Gate が変更されます。
-
値をクリアすると、CI Quality Gate が削除されます。
-
ここで行った変更は「CI ビルド」タブに反映され、以降の CI ビルドに適用されます。