Automation Pipelines 管理者または開発者は、Gerrit トリガを使用して Automation Pipelines Cloud Services と Gerrit コード レビュー ライフサイクルを統合できます。Gerrit プロジェクトでパッチ セットの作成、ドラフトの発行、コード変更のマージを行ったり、変更を Git ブランチに直接プッシュすると、イベントがパイプラインの実行をトリガします。
この例では、最初に Gerrit リスナーを構成し、次に 3 つの異なるパイプラインの 2 つのイベントを使用して、Gerrit トリガでこのリスナーを使用します。
前提条件
- Automation Pipelines で、プロジェクトのメンバーであることを確認します。メンバーでない場合は、プロジェクトにメンバーとして追加するように Automation Pipelines 管理者に依頼します。Automation Pipelinesでプロジェクトを追加する方法を参照してください。
- Automation Pipelines で Gerrit エンドポイントが設定されていることを確認します。Automation Pipelines を Gerrit と統合する方法を参照してください。
- Gerrit リリース バージョンを把握していることを確認します。
- パイプラインをトリガするために、パイプラインの入力プロパティが [Gerrit] として設定されていることを確認します。これにより、パイプラインは、実行中に Gerrit パラメータを入力として受け取ることができます。
入力パラメータについては、CICD パイプラインを作成してワークスペースを設定する方法を参照してください。
手順
結果
次のタスク
Gerrit プロジェクトのコード変更をコミットした後、[アクティビティ] タブで Automation Pipelines の Gerrit イベントを確認します。アクティビティのリストに、トリガ設定のすべてのパイプライン実行に対応するエントリが含まれていることを確認します。
イベントが発生した場合、特定のタイプのイベントに関連する Gerrit トリガ内のパイプラインのみが実行されます。この例では、パッチ セットが作成された場合、[Gerrit-Trigger-Pipeline] と [Gerrit-Demo-Pipeline] のみが実行されます。
[アクティビティ] タブの列には、各 Gerrit トリガ イベントについての情報が示されています。表の下に表示される列のアイコンをクリックすると、表示される列を選択できます。
- トリガが直接の Git プッシュであった場合、[サブジェクトの変更] 列と [実行] 列は空になります。
- [Gerrit のトリガ] 列には、イベントを作成したトリガが表示されます。
- [リスナー] 列はデフォルトでオフになっています。選択すると、イベントを受信した Gerrit リスナーが列に表示されます。複数のトリガに関連付けられている 1 つのリスナーを表示できます。
- [トリガー タイプ] 列はデフォルトでオフになっています。選択すると、トリガのタイプが [自動] または [手動] として列に表示されます。
- 他の列には、[コミット時間]、[変更 #]、[ステータス]、[メッセージ]、[実行された操作]、[ユーザー]、[Gerrit プロジェクト]、[ブランチ]、[イベント] が含まれます。
完了した実行や失敗したパイプライン実行のアクティビティを制御するには、[アクティビティ] 画面の任意のエントリの左側にある 3 つのドットをクリックします。
- パイプライン モデルの誤りや別の問題が原因でパイプラインを実行できない場合は、誤りを修正し、[再実行] を選択して、パイプラインを再実行します。
- ネットワーク接続の問題や別の問題が原因でパイプラインを実行できない場合は、[再開] を選択して、同じパイプラインの実行を再開し、ランタイムを保存します。
- [実行の表示] を使用して、パイプライン実行ビューを開きます。パイプラインを実行して結果を確認する方法を参照してください。
- [削除] を使用して、[アクティビティ] 画面からエントリを削除します。
Gerrit イベントがパイプラインのトリガに失敗した場合は、
[手動でトリガー] をクリックして、Gerrit のトリガを選択します。次に、変更 ID を入力して、
[実行] をクリックします。
注:
[手動でトリガー] が機能するのは、
[パッチセットの作成]、
[変更のマージ]、
[ドラフトの公開] などの有効な Gerrit イベントのみです。
Gerrit サーバとパイプライン クラウド プロキシ間の接続が失われたことが原因で、Gerrit イベントが欠落する場合があります。未接続の状態は最大で 10 分間続くことがあります。Gerrit サーバをアップグレードまたは再起動する場合や、パイプライン クラウド プロキシをアップグレードする場合に接続が失われることがあります。