Code Stream の管理者または開発者は、Git トリガを使用して、Git ライフサイクルに Code Stream Cloud Services を統合できます。GitHub、GitLab、または Bitbucket Enterprise でコードを変更すると、対応するイベントが Webhook を使用して Code Stream と通信し、パイプラインの実行をトリガします。Webhook は、GitLab、GitHub、Bitbucket のクラウドおよびオンプレミス エンタープライズ バージョンと連携します。

Code Stream で Git 用の Webhook を追加すると、GitHub、GitLab、または Bitbucket リポジトリにも Webhook が作成されます。後で Webhook を更新または削除すると、GitHub、GitLab、または Bitbucket の Webhook も更新または削除されます。

Webhook 定義には、監視対象のリポジトリのブランチ上にある Git エンドポイントを含める必要があります。 Code Stream は、Git エンドポイントを使用して Webhook を作成します。エンドポイントがない場合には、Webhook を追加するときに作成できます。この例では、GitHub に Git エンドポイントが事前定義されていることを前提としています。

Webhook の構成画面で同じ Git エンドポイントを使用して、ブランチ名に別の値を指定することにより、複数のブランチに対して複数の Webhook を作成できます。同じ Git リポジトリ内の別のブランチに別の Webhook を作成する際に、複数のブランチに対して Git エンドポイントのクローン作成を複数回行う必要はありません。代わりに、Webhook 内でブランチ名を指定すれば、Git エンドポイントを再利用できるようになります。Git Webhook のブランチがエンドポイントのブランチと同じである場合は、Git Webhook 画面でブランチ名を入力する必要はありません。

この例では、Git トリガを GitHub リポジトリと併用する方法を示しますが、その前提条件には、別の Git サーバ タイプが使用されている場合に必要な準備が含まれています。

前提条件

手順

  1. Code Stream で、[トリガ] > [Git] の順にクリックします。
  2. [Git の Webhook] タブをクリックし、[新規の Git 用 Webhook] をクリックします。
    1. プロジェクトを選択します。
    2. Webhook のわかりやすい名前と説明を入力します。
    3. 監視対象のブランチ用に構成された Git エンドポイントを選択します。
      Webhook を作成すると、Webhook の定義には現在のエンドポイントの詳細が含まれます。
      • エンドポイントで Git タイプ、Git サーバ タイプ、または Git リポジトリの URL を後で変更すると、Webhook は元のエンドポイントの詳細を使用して Git リポジトリにアクセスするため、パイプラインをトリガーできなくなります。Webhook を削除して、エンドポイントを使用して再度作成する必要があります。
      • エンドポイントで認証タイプ、ユーザー名、またはパスワードを後で変更すると、Webhook は引き続き機能します。
      Code Stream と Git の連携方法を参照してください。
    4. (オプション) Webhook で監視するブランチを入力します。
      指定されていない場合は、Webhook は Git エンドポイント用に構成されたブランチを監視します。
    5. (オプション) Webhook のシークレット トークンを生成します。
      このオプションを使用すると、 Code Stream は Webhook の文字列トークンをランダムに生成します。Webhook は、Git イベント データを受信すると、シークレット トークンとともにデータを送信します。 Code Stream は、この情報を使用して、設定済みの GitHub インスタンス、リポジトリ、ブランチなど想定されるソースが呼び出し元であるかどうかを判断します。シークレット トークンによって、新たなセキュリティ レイヤーが加わります。Git イベント データが適切なソースから取得されていることを確認するためのものです。
    6. (オプション) ファイルの包含または除外をトリガの条件として指定します。
      • ファイル包含を指定した場合、コミット内のファイルのいずれかが包含パスまたは正規表現に指定されているファイルと一致すると、パイプラインがトリガされるようになります。正規表現を指定した場合、 Code Stream は変更セット内のファイル名がその正規表現の式に一致するときにのみパイプラインをトリガします。正規表現フィルタは、1 つのリポジトリに複数のパイプラインのトリガを設定する場合に便利です。
      • ファイル除外を指定した場合、コミット内のすべてのファイルが除外パスまたは正規表現に指定されているファイルと一致すると、パイプラインがトリガされなくなります。
      • [除外を優先する] を有効にすると、コミット内のファイルのいずれかが除外パスまたは正規表現に指定されているファイルと一致しても、パイプラインがトリガされなくなります。デフォルトの設定はオフです。
      包含の条件も除外の条件も満たされた場合、パイプラインはトリガされません。

      次の例では、ファイルの包含も除外もトリガの条件にしています。

      ファイルの包含および除外の例。

      • ファイル包含の場合、runtime/src/main/a.java や他の Java ファイルに変更を加えてコミットすると、イベント設定に設定されたパイプラインがトリガされます。
      • ファイル除外の場合、両方のファイルに変更を加えただけでコミットしても、イベント設定に設定されたパイプラインはトリガされません。
    7. Git イベントの場合、[プッシュ] または [プル] 申請を選択します。
    8. API トークンを入力します。
      CSP API トークンは、 Code Stream との外部 API 接続を認証します。API トークンを取得するには、次の手順を実行します。
      1. vRealize Automation Cloud にログインします。
      2. 自分の名前の横にあるドロップダウンの矢印をクリックします。
      3. [マイ アカウント] をクリックします。
      4. [API トークン] をクリックします。
      5. [トークンの生成] をクリックします。
        1. トークン名を入力します。
        2. [組織ロール] で、[組織の所有者] を選択します。
        3. [サービス ロール] で、[VMware Code Stream] をクリックして展開し、[Code Stream 管理者] を選択します。
        4. [生成] をクリックします。

          [生成したトークン] ウィンドウに指定した名前と組織名が付いたトークンが表示されます。

      6. [コピー] アイコンをクリックします。

        [コピー] をクリックすると、文字列が正確にキャプチャされ、ポインタを使用して文字列をコピーした場合よりも信頼性が高くなります。

    9. Webhook によってトリガされるパイプラインを選択します。
      カスタムで追加された入力パラメータを使用してパイプラインが設定されている場合、[入力パラメータ] リストにはパラメータと値が表示されます。イベントをトリガするパイプラインに渡される入力パラメータの値を入力できます。値は、空白のままにすることもできます。デフォルト値が定義されている場合は、デフォルト値を使用することもできます。

      Git トリガ用の自動挿入の入力パラメータについては、前提条件を参照してください。

    10. [作成] をクリックします。
      Webhook が新しいカードとして表示されます。
  3. Webhook カードをクリックします。
    Webhook データ フォームを再び表示すると、フォームの上部に Webhook の URL が追加されています。Git Webhook は、Webhook URL を経由して GitHub リポジトリに接続します。

    Webhook URL 付きの Git Webhook

  4. 新しいブラウザ ウィンドウで、Webhook を使用して接続されている GitHub リポジトリを開きます。
    1. Code Stream で追加した Webhook を表示するには、[設定] タブをクリックし、[Webhooks] を選択します。
      Webhook リストの下部に、同じ Webhook URL が表示されます。

      GitHub の Webhook リスト

    2. コードを変更するには、[コード] タブをクリックし、編集するブランチで編集するファイルを選択します。変更を確定します。
    3. Webhook URL が機能していることを確認するには、[設定] タブをクリックし、[Webhooks] を再度選択します。
      Webhook リストの下部に表示される Webhook URL の横に、緑色のチェックマークが示されます。 緑色のチェックマークが付いた GitHub の Webhook
  5. Code Stream に戻ると、Git Webhook のアクティビティが表示されます。[トリガ] > [Git] > [アクティビティ] の順にクリックします。
    実行ステータスで、パイプラインの実行が開始されたことを確認します。

    Git トリガーで開始されたアクティビティ

  6. [実行] をクリックし、実行中のパイプラインを追跡します。
    更新ボタンを押すと、パイプラインの実行を監視できます。

    Git がトリガしたパイプラインの実行

結果

完了です。Git トリガを使用してパイプラインを実行できました。