プライベート プールでのビルドの実行

このドキュメントでは、プライベート プールでビルドを実行する方法について説明します。プライベート プールを初めて使用する場合は、プライベート プールの概要をご覧ください。

始める前に

  • プライベート プールの作成と管理の手順を使用してプライベート プールを作成していることを確認してください。

  • このガイドのコマンドラインの例を使用するには、Cloud SDK をインストールして構成します。

  • 同じ Cloud プロジェクトでプライベート プールと Cloud Build ビルドを作成できます。また、別々のプロジェクトを使用することもできます。ビルドがプライベート プールとは異なるプロジェクトに存在する場合は、gcloud ツールのデフォルト プロジェクトをビルド元のプロジェクトに設定します。

    gcloud config set project BUILD_ORIGIN_PROJECT_ID
    

IAM の権限

  • gcloud ツールまたは Cloud Build API を使用してビルドを実行するには、ビルドをリクエストするユーザーまたはサービス アカウントに、プライベート プール プロジェクトの WorkerPool ユーザーのロールを付与します。

  • トリガーを使用して自動ビルドを実行するには:

    • ビルドを開始するプロジェクトがプライベート プールが存在するプロジェクトと同じである場合、権限を付与する必要はありません。
    • ビルドを開始するプロジェクトがプライベート プールが存在するプロジェクトと異なる場合は、ビルドを作成したプロジェクトの Cloud Build サービス アカウントに WorkerPool ユーザーのロールを付与します。

IAM ロールを付与する方法については、IAM ロールと権限をご覧ください。

ビルドの実行

プライベート プールを作成した同じ Cloud プロジェクトまたは別の Cloud プロジェクトからビルドを送信できます。プライベート プールは、ビルド構成ファイルで、または直接 gcloud コマンドで次のように指定できます。

ビルド構成ファイルでプライベート プールを指定するには:

  1. Cloud Build 構成ファイルで、pool オプションを追加し、ビルドを実行するワーカープールの完全なリソース名を指定します。

    YAML

    steps:
    - name: 'bash'
      args: ['echo', 'I am running in a private pool!']
    options:
      pool:
        name: 'projects/WORKERPOOL_PROJECT_ID/locations/REGION/workerPools/WORKERPOOL_ID'
    

    JSON

    {
      "steps": [
      {
        "name": "bash",
        "args": [
          "echo",
          "I am running in a private pool!"
        ]
      }
      ],
      "options": {
        "pool" : {
          "name" : "projects/WORKERPOOL_PROJECT_ID/locations/REGION/workerPools/WORKERPOOL_ID"
        }
      }
    }
    

    上の構成ファイルのプレースホルダ値を次の値に置き換えます。

    • WORKERPOOL_PROJECT_ID: プライベート プールが配置されている Cloud プロジェクト。
    • REGION: プライベート プールを作成したリージョン。
    • WORKERPOOL_ID: プライベート プールの作成時に指定した一意のワーカープール ID。
  2. 上で作成したビルド構成ファイルを使用して、gcloud または API またはトリガーを使用してビルドを実行します。 インスタンスがオンプレミスでホストされている場合、Cloud Build は、GitHub EnterpriseBitbucket Server などのいくつかの外部ソースコード管理システムのトリガー機能のサポートを提供します。

gcloud コマンドでプライベート プールを次のように指定します。

プライベート プールは、ビルド構成ファイルではなく gcloud コマンドで指定できます。たとえば、次のビルド構成ファイルがあるとします。

YAML

  steps:
  - name: 'bash'
    args: ['echo', 'I am running in a private pool!']

JSON

  {
    "steps": [
    {
      "name": "bash",
      "args": [
        "echo",
        "I am running in a private pool!"
      ]
    }
    ],
  }

次のコマンドは、ビルド構成ファイルを使用してビルドを実行し、このコマンドでワーカープールを指定します。

gcloud builds submit --config=CONFIG_FILE
  --worker-pool=projects/WORKERPOOL_PROJECT_ID/locations/REGION/workerPools/WORKERPOOL_ID

上記のコマンドのプレースホルダ値を次のように置き換えます。

  • CONFIG_FILE: ビルド構成ファイルへのパス。
  • WORKERPOOL_ID: プライベート プールの作成時に指定した一意のワーカープール ID。
  • WORKERPOOL_PROJECT_ID: プライベート プールが配置されている Cloud プロジェクト。
  • REGION: プライベート プールを作成したリージョン。

次のステップ