Automation Pipelines には、GitHub、GitLab、または Bitbucket リポジトリでコード変更が発生したときにパイプラインをトリガする方法が用意されています。Git トリガは、監視するリポジトリのブランチにある Git エンドポイントを使用します。Automation Pipelines は、Webhook を介して Git エンドポイントに接続します。

Automation Pipelines で Git エンドポイントを定義するには、プロジェクトを選択し、エンドポイントを配置する Git リポジトリのブランチを入力します。プロジェクトでは、エンドポイントやその他の関連オブジェクトとパイプラインがグループ化されます。Webhook の定義でプロジェクトを選択するときに、トリガするエンドポイントとパイプラインを選択します。
注: エンドポイントを使用して Webhook を定義し、後でエンドポイントを編集する場合、Webhook のエンドポイントの詳細を変更することはできません。エンドポイントの詳細を変更するには、Webhook を削除し、そのエンドポイントを使用して再定義する必要があります。 Automation Pipelines で Git トリガを使用してパイプラインを実行する方法を参照してください。

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

前提条件

  • 接続する予定の GitHub、GitLab、または Bitbucket リポジトリにアクセスできることを確認します。
  • Automation Pipelines で、プロジェクトのメンバーであることを確認します。メンバーでない場合は、プロジェクトにメンバーとして追加するように Automation Pipelines 管理者に依頼します。Automation Pipelinesでプロジェクトを追加する方法を参照してください。

手順

  1. Git エンドポイントを定義します。
    1. [エンドポイント] > [新規エンドポイント] の順にクリックします。
    2. プロジェクトを選択し、エンドポイント タイプとして [Git] を選択します。次に、名前と説明を入力します。
    3. このエンドポイントがインフラストラクチャのビジネス クリティカルなコンポーネントである場合は、[制限付きとしてマーク] を有効にします。
      パイプラインで制限付きのエンドポイントを使用する場合は、管理者がパイプラインを実行して、パイプラインの実行を承認する必要があります。エンドポイントまたは変数が制限付きとマークされている場合に、管理者以外のユーザーがパイプラインをトリガすると、パイプラインはそのタスクで一時停止し、管理者が再開するまで待機します。
      プロジェクト管理者は、制限付きのエンドポイントまたは変数が含まれているパイプラインを起動できます。そのためには、これらのリソースが、ユーザーがプロジェクト管理者になっているプロジェクトに含まれている必要があります。
      管理者以外のユーザーが、制限されたリソースを含むパイプラインを実行すると、制限されたリソースを使用するタスクでパイプラインが停止します。その場合は、管理者がパイプラインを再開する必要があります。
      制限付きリソース、および [制限付きパイプラインの管理] 権限を含むカスタム ロールの詳細については、以下を参照してください。
    4. サポートされている Git サーバ タイプの 1 つを選択します。
    5. パスに含まれるサーバへの API ゲートウェイを持つリポジトリの URL を入力します。例:
      GitHub の場合は、 https://api.github.com/vmware-example/repo-example と入力します。
      BitBucket の場合は、 https://api.bitbucket.org/{user}/{repo name} または http(s)://{bitbucket-enterprise-server}/rest/api/1.0/users/{username}/repos/{repo name} と入力します。
    6. エンドポイントが配置されるリポジトリ内のブランチを入力します。
    7. 認証タイプを選択し、GitHub、GitLab、または Bitbucket のユーザー名を入力します。次に、そのユーザー名とペアになっているプライベート トークンを入力します。
      • パスワードの場合:後で Webhook を作成するには、パスワードのプライベート トークンを入力する必要があります。Git 用 Webhook は、ベーシック認証を使用して作成されたエンドポイントをサポートしません。

        機密性のある情報を非表示および暗号化するには、シークレット変数を使用します。非表示にして暗号化して実行時に使用を制限する文字列、パスワード、URL については、制限付き変数を使用します。たとえば、パスワードや URL にシークレット変数を使用します。シークレット変数も制限付き変数も、パイプライン内の任意のタイプのタスクで使用できます。

      • プライベート トークンの場合:このトークンは Git 固有であり、特定のアクションへのアクセスを提供します。https://docs.gitlab.com/ee/user/profile/personal_access_tokens.htmlを参照してください。また、プライベート トークンの変数を作成することもできます。
  2. [検証] をクリックし、エンドポイントが Automation Pipelines.に接続することを確認します。
    接続しない場合は、エラーを修正してから [作成] をクリックします。
    Git エンドポイントを追加する場合は、情報を入力し、エンドポイントを検証して、作成 をクリックするとエンドポイント定義が完了します。

次のタスク

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