Automation Pipelines 管理者または開発者は、Git トリガを使用して Automation Pipelines Cloud Services と Git ライフ サイクルを統合できます。GitHub、GitLab、または Bitbucket Enterprise でコードを変更すると、対応するイベントが Webhook を使用して Automation Pipelines と通信し、パイプラインをトリガします。Webhook は、GitLab、GitHub、Bitbucket のクラウドおよびオンプレミス エンタープライズ バージョンと連携します。
Automation Pipelines で Git 用の Webhook を追加すると、GitHub、GitLab、または Bitbucket リポジトリにも Webhook が作成されます。後で Webhook を更新または削除すると、そのアクションによって GitHub、GitLab、または Bitbucket の Webhook も更新または削除されます。
Webhook 定義には、監視対象のリポジトリのブランチ上にある Git エンドポイントを含める必要があります。Webhook を作成するために、Automation Pipelines は Git エンドポイントを使用します。エンドポイントがない場合には、Webhook を追加するときに作成できます。この例では、GitHub に Git エンドポイントが事前定義されていることを前提としています。
注: Webhook を作成するには、Git エンドポイントは認証にプライベート トークンを使用する必要があります。パスワードは使用できません。
Webhook の構成画面で同じ Git エンドポイントを使用して、ブランチ名に別の値を指定することにより、複数のブランチに対して複数の Webhook を作成できます。同じ Git リポジトリ内の別のブランチに別の Webhook を作成する際に、複数のブランチに対して Git エンドポイントのクローン作成を複数回行う必要はありません。代わりに、Webhook 内でブランチ名を指定すれば、Git エンドポイントを再利用できるようになります。Git Webhook のブランチがエンドポイントのブランチと同じである場合は、Git Webhook 画面でブランチ名を入力する必要はありません。
この例では、Git トリガを GitHub リポジトリと併用する方法を示しますが、その前提条件には、別の Git サーバ タイプが使用されている場合に必要な準備が含まれています。
手順
- Automation Pipelines で、 の順にクリックします。
- [Git の Webhook] タブをクリックし、[新規の Git 用 Webhook] をクリックします。
- プロジェクトを選択します。
- Webhook のわかりやすい名前と説明を入力します。
- 監視対象のブランチ用に構成された Git エンドポイントを選択します。
Webhook を作成すると、Webhook の定義には現在のエンドポイントの詳細が含まれます。
- エンドポイントで Git タイプ、Git サーバ タイプ、または Git リポジトリの URL を後で変更すると、Webhook は元のエンドポイントの詳細を使用して Git リポジトリにアクセスするため、パイプラインをトリガーできなくなります。Webhook を削除して、エンドポイントを使用して再度作成する必要があります。
- エンドポイントで認証タイプ、ユーザー名、またはプライベート トークンを後で変更すると、Webhook は引き続き機能します。
- BitBucket リポジトリを使用している場合、リポジトリの URL は
https://api.bitbucket.org/{user}/{repo name}
または http(s)://{bitbucket-enterprise-server}/rest/api/1.0/users/{username}/repos/{repo name}
の形式にする必要があります。
注: ベーシック認証にパスワードを使用する Git エンドポイントを使用して Webhook を作成した場合は、その Webhook を削除し、認証にプライベート トークンを使用する Git エンドポイントを使用して再定義する必要があります。
Automation Pipelines と Git の連携方法を参照してください。
- (オプション) Webhook で監視するブランチを入力します。
ブランチが未指定のままにされた場合、Webhook は Git エンドポイント用に構成されたブランチを監視します。ブランチ名として正規表現を使用した場合は、正規表現に一致するブランチで変更が行われるとパイプラインがトリガされます。
- (オプション) Webhook のシークレット トークンを生成します。
シークレット トークンを使用する場合は、
Automation Pipelines によって Webhook のランダムな文字列トークンが生成されます。Webhook は、Git イベント データを受信すると、シークレット トークンとともにデータを送信します。
Automation Pipelines は、この情報を使用して、設定済みの GitHub インスタンス、リポジトリ、ブランチなど想定されるソースが呼び出し元であるかどうかを判断します。シークレット トークンによって、新たなセキュリティ レイヤーが加わります。Git イベント データが適切なソースから取得されていることを確認するためのものです。
- (オプション) ファイルの包含または除外をトリガの条件として指定します。
- ファイルの包含。コミット内のファイルのいずれかが包含パスまたは正規表現に指定されているファイルと一致すると、コミットでパイプラインがトリガされます。正規表現を指定した場合、Automation Pipelines は変更セット内のファイル名がその正規表現の式に一致するときにのみパイプラインをトリガします。正規表現フィルタは、1 つのリポジトリに複数のパイプラインのトリガを設定する場合に便利です。
- ファイルの除外。コミット内のすべてのファイルが除外パスまたは正規表現に指定されているファイルと一致すると、パイプラインはトリガされません。
- 除外を優先する。[除外を優先する] を有効にすると、コミット内のファイルのいずれかが除外パスまたは正規表現に指定されているファイルと一致しても、パイプラインがトリガされなくなります。デフォルトの設定はオフです。
ファイルの包含とファイルの除外の両方が条件として満たされる場合、パイプラインはトリガされません。
次の例では、ファイルの包含も除外もトリガの条件にしています。
- ファイル包含の場合、runtime/src/main/a.java や他の Java ファイルに変更を加えてコミットすると、イベント設定に設定されたパイプラインがトリガされます。
- ファイル除外の場合、両方のファイルに変更を加えただけでコミットしても、イベント設定に設定されたパイプラインはトリガされません。
- Git イベントの場合、[プッシュ] または [プル] 申請を選択します。
- API トークンを入力します。
VMware Cloud Services API トークンは、
Automation Pipelines との外部 API 接続の際にユーザーを認証します。API トークンを取得するには、次の手順を実行します。
- VMware Aria Automation にログインします。
- [] にログインします。
- 自分の名前の横にあるドロップダウンの矢印をクリックします。
- [マイ アカウント] をクリックします。
- [API トークン] をクリックします。
- [新しい API トークンの生成] をクリックします。
- トークン名を入力します。
- [組織ロール] で [すべての組織ロール] をクリックして展開し、[組織の所有者] を選択します。
- [サービス ロール] で の順にクリックして展開し、[Pipelines 管理者] を選択します。
- [生成] をクリックします。
[生成したトークン] ウィンドウに指定した名前と組織名が付いたトークンが表示されます。
- [コピー] アイコンをクリックします。
[コピー] をクリックすると、文字列が正確にキャプチャされ、ポインタを使用して文字列をコピーした場合よりも信頼性が高くなります。
- Webhook によってトリガされるパイプラインを選択します。
カスタムで追加された入力パラメータがパイプラインに含まれている場合、[入力パラメータ] リストにはパラメータと値が表示されます。イベントをトリガするパイプラインに渡される入力パラメータの値を入力できます。値は、空白のままにすることもできます。デフォルト値が定義されている場合は、デフォルト値を使用することもできます。
Git トリガ用の自動挿入の入力パラメータについては、前提条件を参照してください。
- [作成] をクリックします。
Webhook が新しいカードとして表示されます。
- Webhook カードをクリックします。
Webhook データ フォームを再び表示すると、フォームの上部に Webhook の URL が追加されています。Git Webhook は、Webhook URL を経由して GitHub リポジトリに接続します。
- 新しいブラウザ ウィンドウで、Webhook を使用して接続されている GitHub リポジトリを開きます。
- Automation Pipelines で追加した Webhook を表示するには、[設定] タブをクリックし、[Webhooks] を選択します。
Webhook リストの下部に、同じ Webhook URL が表示されます。
- コードを変更するには、[コード] タブをクリックし、ブランチでファイルを選択します。ファイルを編集した後、変更をコミットします。
- Webhook URL が機能していることを確認するには、[設定] タブをクリックし、[Webhooks] を再度選択します。
Webhook リストの下部に表示される Webhook URL の横に、緑色のチェックマークが示されます。
- Automation Pipelines に戻ると、Git Webhook のアクティビティが表示されます。 の順にクリックします。
実行ステータスで、パイプラインの実行が開始されたことを確認します。
- [実行] をクリックし、パイプラインを実行中に追跡します。
パイプラインの実行を確認するには、[更新] を押します。
結果
完了です。Git のトリガが正常に使用されました。