Code Stream では、Gerrit プロジェクトでコード レビューが発生したときにパイプラインをトリガできます。Gerrit 用トリガの定義には、イベント タイプに応じて実行する必要がある Gerrit プロジェクトとパイプラインが含まれます。
Gerrit 用トリガは、監視対象の Gerrit サーバにある Gerrit リスナーを使用します。 Code Stream で Gerrit エンドポイントを定義するには、プロジェクトを選択し、Gerrit サーバの URL を入力します。次に、そのサーバに Gerrit リスナーを作成するときに、エンドポイントを指定します。
FIPS が有効になっている vRealize Automation インスタンスで Gerrit サーバを Code Stream エンドポイントとして使用している場合は、Gerrit 構成ファイルに正しいメッセージ認証キーが含まれていることを確認する必要があります。Gerrit サーバの構成ファイルに正しいメッセージ認証キーが含まれていない場合は、サーバが正常に起動せず、「PrivateKey/PassPhrase is incorrect
」というメッセージが表示されます。
次の手順は、Gerrit リスナー定義で使用できる Gerrit エンドポイントを定義する方法を示しています。エンドポイントの編集が必要な場合のために、手順の最後にあるオプションの手順で、更新を実行する方法とタイミングを説明しています。
前提条件
- 接続する Gerrit サーバにアクセスできることを確認します。
- Code Stream で、プロジェクトのメンバーであることを確認します。メンバーでない場合は、プロジェクトにメンバーとして追加するように Code Stream 管理者に依頼します。Code Streamでプロジェクトを追加する方法を参照してください。
手順
- Gerrit エンドポイントを定義します。
- の順にクリックして、[新規エンドポイント] をクリックします。
- プロジェクトを選択し、エンドポイントのタイプとして [Gerrit] を選択します。次に、名前と説明を入力します。
- このエンドポイントがインフラストラクチャのビジネス クリティカルなコンポーネントである場合は、[制限付きとしてマーク] を有効にします。
- Gerrit サーバの URL を入力します。
デフォルト ポートを使用するには、URL でポート番号を指定するか、値を空白のままにします。
- Gerrit サーバのユーザー名とパスワードを入力します。
パスワードを暗号化する必要がある場合は、
[変数の作成] をクリックし、次のいずれかのタイプを選択します。
- シークレット。パスワードは、何らかのロールを持つユーザーがパイプラインを実行すると解決されます。
- 制限付き。パスワードは、管理者ロールを持つユーザーがパイプラインを実行すると解決されます。
値には、Jenkins サーバのパスワードなど、保護する必要があるパスワードを入力します。
- プライベート キーの場合は、Gerrit サーバへの安全なアクセスに使用する SSH キーを入力します。
このキーは、
.ssh ディレクトリにある RSA プライベート キーです。
- (オプション) プライベート キーにパスフレーズが関連付けられている場合は、そのパスフレーズを入力します。
パスフレーズを暗号化するには、
[変数の作成] をクリックし、次のいずれかのタイプを選択します。
- シークレット。パスワードは、何らかのロールを持つユーザーがパイプラインを実行すると解決されます。
- 制限付き。パスワードは、管理者ロールを持つユーザーがパイプラインを実行すると解決されます。
値には、SSH サーバのパスフレーズなど、保護するパスフレーズを入力します。
- [検証] をクリックし、 Code Stream の Gerrit エンドポイントが Gerrit サーバに接続されていることを確認します。
接続されていない場合は、エラーを修正し、もう一度
[検証] をクリックします。
- [作成] をクリックします。
- vRealize Automation 環境で FIPS が有効になっていることを確認します。または、Jenkins ジョブで Jenkins URL を使用して、FIPS が有効な環境を作成します。
- コマンド ラインからコマンドを実行するには、SSH 経由で vRealize Automation 8.x アプライアンスに接続し、root ユーザーとしてログインします。たとえば、https://cava-1-234-567.yourcompanyFQDN.com などの完全修飾ドメイン名 URL にポート 22、5480、または 443 で接続します。
- vRealize Automation の FIPS を確認するには、コマンド vracli security fips を実行します。
- コマンドが
FIPS mode: strict
を返すことを確認します。
- Gerrit サーバが、FIPS が有効な vRealize Automation インスタンスのエンドポイントである場合は、Gerrit 構成ファイルに正しいメッセージ認証 (MAC) キーが含まれていることを確認します。
- Gerrit を開き、SSH キー ペアを作成します。
- '$site_path'/etc/gerrit.config の Gerrit サーバ構成ファイルを見つけます。
- Gerrit サーバ構成ファイルに、
hmac-MD5
を除くメッセージ認証コード (MAC) キーが 1 つ以上含まれていることを確認します。
注: FIPS モードでは、
hmac-MD5
はサポートされる MAC アルゴリズムではありません。Gerrit サーバが正しく起動するようにするには、Gerrit サーバ構成ファイルでこのアルゴリズムを除外する必要があります。Gerrit サーバが正常に起動しない場合は、「
PrivateKey/PassPhrase is incorrect
」というメッセージが表示されます。
プラス記号 (+) で始まる、サポートされているメッセージ認証コード (MAC) のキー名が有効です。ハイフン (-) で始まる MAC キー名は、デフォルトの MAC のリストから削除されます。デフォルトでは、これらのサポートされる MAC は Gerrit サーバの
Code Stream で使用できます。
hmac-md5-96
hmac-sha1
hmac-sha1-96
hmac-sha2-256
hmac-sha2-512
- (オプション) URL またはプライベート キーを変更するなどの目的で Gerrit エンドポイントを更新する前に、エンドポイントが Gerrit リスナーに接続されているかどうかを確認します。