Automation Pipelines では、Gerrit プロジェクトでコード レビューが発生したときにパイプラインをトリガできます。Gerrit 用トリガの定義には、イベント タイプに応じて実行する必要がある Gerrit プロジェクトとパイプラインが含まれます。

Gerrit 用トリガは、監視対象の Gerrit サーバにある Gerrit リスナーを使用します。Automation Pipelines で Gerrit エンドポイントを定義するには、プロジェクトを選択し、Gerrit サーバの URL を入力します。次に、そのサーバに Gerrit リスナーを作成するときに、エンドポイントを指定します。

次の手順は、Gerrit リスナー定義で使用できる Gerrit エンドポイントを定義する方法を示しています。エンドポイントの編集が必要な場合のために、手順の最後にあるオプションの手順で、更新を実行する方法とタイミングを説明しています。

前提条件

手順

  1. Gerrit エンドポイントを定義します。
    1. [構成] > [エンドポイント] の順にクリックして、[新規エンドポイント] をクリックします。
    2. プロジェクトを選択し、エンドポイントのタイプとして [Gerrit] を選択します。次に、名前と説明を入力します。
    3. このエンドポイントがインフラストラクチャのビジネス クリティカルなコンポーネントである場合は、[制限付きとしてマーク] を有効にします。
    4. Gerrit サーバの URL を入力します。
      デフォルト ポートを使用するには、URL でポート番号を指定するか、値を空白のままにします。
    5. Gerrit サーバのユーザー名とパスワードを入力します。
      パスワードを暗号化する必要がある場合は、 [変数の作成] をクリックし、次のいずれかのタイプを選択します。
      • シークレット。パスワードは、何らかのロールを持つユーザーがパイプラインを実行すると解決されます。
      • 制限付き。パスワードは、管理者ロールを持つユーザーがパイプラインを実行すると解決されます。

      値には、Jenkins サーバのパスワードなど、保護する必要があるパスワードを入力します。

    6. プライベート キーの場合は、Gerrit サーバへの安全なアクセスに使用する SSH キーを入力します。
      このキーは、 .ssh ディレクトリにある RSA プライベート キーです。
    7. (オプション) プライベート キーにパスフレーズが関連付けられている場合は、そのパスフレーズを入力します。
      パスフレーズを暗号化するには、 [変数の作成] をクリックし、次のいずれかのタイプを選択します。
      • シークレット。パスワードは、何らかのロールを持つユーザーがパイプラインを実行すると解決されます。
      • 制限付き。パスワードは、管理者ロールを持つユーザーがパイプラインを実行すると解決されます。

      値には、SSH サーバのパスフレーズなど、保護するパスフレーズを入力します。

  2. [検証] をクリックし、Automation Pipelines の Gerrit エンドポイントが Gerrit サーバに接続されていることを確認します。
    接続されていない場合は、エラーを修正し、もう一度 [検証] をクリックします。
    Gerrit トリガ用のエンドポイントを追加するときは、Gerrit エンドポイントが Gerrit サーバに接続できることを確認する必要があります。
  3. [作成] をクリックします。
  4. (オプション) URL またはプライベート キーを変更するなどの目的で Gerrit エンドポイントを更新する前に、エンドポイントが Gerrit リスナーに接続されているかどうかを確認します。
    • エンドポイントが Gerrit リスナーに接続されていない場合は、次の手順を実行してエンドポイントを更新します。
      1. [構成] > [エンドポイント] の順にクリックし、更新するエンドポイントで [開く] をクリックします。
      2. エンドポイント定義を更新します。
      3. (オプション) クラウド プロキシを変更する場合は、古い接続を削除するために古いクラウド プロキシを一度再起動してから、新しいクラウド プロキシを開始して新しい接続を確立します。
      4. [検証] をクリックして、Automation Pipelines の Gerrit エンドポイントが Gerrit サーバに接続されていることを確認します。
      5. [保存] をクリックします。
    • エンドポイントが Gerrit リスナーに接続されている場合は、次の手順を実行してエンドポイントを更新します。
      1. 接続されている Gerrit リスナーを切断します。Automation Pipelines で Gerrit トリガを使用してパイプラインを実行する方法を参照してください。
      2. 新しいエンドポイントを構成する手順を実行します。
      3. (オプション) クラウド プロキシを変更する場合は、古い接続を削除するために古いクラウド プロキシを一度再起動してから、新しいクラウド プロキシを開始して新しい接続を確立します。
      4. 更新されたエンドポイント定義を検証して保存します。
      5. Gerrit リスナーを再接続します。
      注: Gerrit リスナーが切断されない場合は、現在の Gerrit エンドポイントの値が変更され、そのためにリスナーが Gerrit サーバと通信できなくなっていることが原因である可能性があります。この問題が発生した場合は、まず、リスナーが Gerrit サーバと通信できるようにエンドポイント定義を変更します。次に、Gerrit リスナーを切断し、再接続します。

次のタスク

詳細については、他のセクションを参照してください。Automation Pipelines で Gerrit トリガを使用してパイプラインを実行する方法を参照してください。