Bitbucket Cloud からリポジトリをビルドする

Cloud Build を使用すると、Bitbucket Cloud でホストされているリポジトリからビルドするトリガーを作成できます。Bitbucket Cloud リポジトリに関連付けられた commit push やマージ リクエストなどのイベントに応じてビルドを実行できます。

このページでは、Bitbucket Cloud インスタンスでトリガー機能を有効にする方法について説明します。Cloud Build トリガーCloud Build リポジトリの詳細を確認します。

始める前に

  • Cloud Build and Secret Manager API を有効にします。

    API を有効にする

Bitbucket Cloud トリガーを作成する

次の手順で Bitbucket Cloud トリガーを作成します。

コンソール

  1. [トリガー] ページを開く

    [トリガー] ページを開く

  2. Google Cloud プロジェクトを選択して、[開く] をクリックします。

  3. [トリガーを作成] をクリックします。

  4. 次のトリガー設定を入力します。

    • 名前: トリガーの名前。

    • リージョン: トリガーのリージョンを選択します。

      • トリガーに関連付けられたビルド構成ファイルでプライベート プールが指定されている場合、Cloud Build は、そのプライベート プールを使用してビルドを実行します。この場合、トリガーで指定するリージョンは、プライベート プールを作成したリージョンと一致する必要があります。
      • トリガーに関連付けられたビルド構成ファイルでプライベート プールが指定されていない場合、Cloud Build はデフォルトのプールを使用してトリガーと同じリージョンでビルドを実行します。
    • 説明(省略可): トリガーの説明。

    • イベント: トリガーを起動するリポジトリ イベントを選択します。

      • ブランチに push する: 特定のブランチに対して commit が行われたときにビルドを開始するトリガーを設定します。

      • 新しいタグを push する: 特定のタグを含む commit が行われたときにビルドを開始するトリガーを設定します。

      • pull リクエスト: pull リクエストの commit が行われたときにビルドを開始するトリガーを設定します。

    • ソース: ソースとして [第 2 世代] を選択します。

      • リポジトリ: 使用可能なリポジトリのリストからリポジトリを選択します。新しいリポジトリに接続するには、Bitbucket Cloud リポジトリに接続するをご覧ください。

      • ブランチまたはタグ: ブランチまたはタグの値にマッチングさせる正規表現を指定します。有効な正規表現の構文については、RE2 構文をご覧ください。

      • コメント制御: イベントとして pull リクエストを選択した場合は、ビルドをトリガーによって自動的に実行するかどうか、次のいずれかのオプションを選択します。

        • 必須(オーナーと共同編集者を除く): pull リクエストがリポジトリ所有者または共同編集者によって作成または更新されると、ビルドが自動的にトリガーによって実行されます。外部の投稿者がアクションを開始する場合、その pull リクエストで所有者または共同編集者が /gcbrun にコメントした後にのみビルドが実行されます。

        • 必須: 投稿者を問わず pull リクエストが作成または更新されると、所有者または共同編集者が pull リクエストに /gcbrun とコメントした後にのみビルドが実行されます。ビルドは、pull リクエストが変更されるたびに実行されます。

        • 不要: 投稿者を問わず pull リクエストが作成または更新されると、ビルドが自動的にトリガーで実行されます。

    • 構成: リポジトリにあるビルド構成ファイルを選択するか、トリガーでインライン ビルドを構成します。

    • タイプ: ビルドに使用する構成のタイプを選択します。

      • Cloud Build 構成ファイル(yaml または json): 構成にビルド構成ファイルを使用します。
      • Dockerfile: 構成には Dockerfile を使用します。
    • 場所: 構成の場所を指定します。

      • リポジトリ: 構成ファイルがリポジトリにある場合は、ビルド構成ファイルまたは Dockerfile ディレクトリの場所と生成されたイメージの名前を指定します。構成が Dockerfile の場合は、必要に応じてビルドのタイムアウトを指定できます。Dockerfile とイメージ名を指定すると、ビルドの docker build コマンドのプレビューが表示されます。

      • インライン: 構成オプションとして Cloud Build 構成ファイル(yaml または json)を選択した場合、インライン ビルド構成を指定できます。Google Cloud Console で [エディタを開く] をクリックして、YAML または JSON 構文でビルド構成ファイルを書き込みます。[完了] をクリックしてビルド構成ファイルを保存します。

  5. [作成] をクリックして Bitbucket Cloud トリガーを作成します。

gcloud

次のコマンドを使用して、リポジトリの push イベント トリガーを作成します。

gcloud builds triggers create bitbucket-cloud \
    --name=TRIGGER_NAME \
    --repository=\
    projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
    --branch-pattern=".*" --build-config="CONFIG_NAME" \
    --region=REGION

ここで

  • TRIGGER-NAME はビルドトリガーに付ける名前です。
  • PROJECT_ID はユーザーの Google Cloud プロジェクト ID です。
  • REGION はトリガーのリージョンです。
  • CONNECTION_NAME はホスト接続の名前です。
  • REPO_NAME は、Bitbucket Cloud の接続リポジトリの名前です。
  • CONFIG_NAME は、構成スキーマ ファイルの名前です。

トリガーが作成されると、Cloud Build はすべてのブランチですべての push イベントをリッスンします。リポジトリに commit を push すると、トリガーが呼び出されます。[ビルド履歴] ページでビルド結果を確認できます。

データ共有

Cloud Build から Bitbucket Cloud に送信されたデータは、トリガーを名前で識別し、Bitbucket Cloud リポジトリでビルドの結果を確認する際に役立ちます。

次のデータは、Cloud Build と Bitbucket Cloud ホストの間で共有されます。

  • Google Cloud プロジェクト ID
  • トリガーの名前

次のステップ