コミュニティ提供のビルダーとカスタム ビルダーの使用

このページでは、Cloud Build でコミュニティ提供のビルダーとカスタム ビルダーを使用する方法について説明します。Cloud Build のデベロッパー コミュニティから、タスク実行のために使用できるオープンソースのビルダーが提供されています。実行するタスクに既存のイメージでは提供されない機能が必要な場合は、独自のカスタム イメージをビルドしてビルドステップで使用できます。さまざまな種類のビルダーの詳細については、クラウド ビルダーをご覧ください。

Cloud Build を初めて使用する場合は、最初にクイックスタートビルド構成の概要をご覧ください。

コミュニティ提供のビルダーの使用

事前にビルドされたイメージは、コミュニティ提供のビルダーでは使用できません。これらのビルダーを Cloud Build 構成ファイルで使用するには、まずイメージをビルドし、プロジェクトの Container Registry に push する必要があります。

コミュニティ提供のビルダーを使用するには:

  1. ビルダーをビルドして push します。

    1. プロジェクトのルート ディレクトリに移動します。

    2. cloud-builders-community リポジトリのクローンを作成します。

      git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
      
    3. 使用するビルダー イメージに移動します。ここで、builder-name はビルダーを含むディレクトリです。

      cd cloud-builders-community/builder-name
      
    4. ビルダーをプロジェクトに送信します。

      gcloud builds submit .
      
    5. プロジェクトのルート ディレクトリに戻ります。

      cd ../..
      
    6. ルート ディレクトリからリポジトリを削除します。

      rm -rf cloud-builders-community/
      
  2. Cloud Build 構成ファイルで、ビルドステップでビルダーを使用します。

    YAML

    steps:
    - name: 'gcr.io/project-id/builder-name'
      args: ['arg1', 'arg2', ...]
    ...
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/project-id/builder-name",
        "args": [
          "arg1",
          "arg2",
          ...
        ]
        ...
      }
      ]
    }
    
  3. ビルド構成ファイルを使用して手動でビルドを開始するか、トリガーでビルドします。

コミュニティ提供のビルダーの使用例については、Firebase にデプロイするPacker を使用した VM イメージのビルドをご覧ください。

カスタム ビルダーの作成

実行するタスクに公開イメージ、サポート対象のビルダーまたはコミュニティ提供のビルダーで提供されない機能が必要な場合は、独自のイメージをビルドしてビルドステップで使用できます。

カスタム ビルダー イメージを使用する例を次に示します。

  • 外部のロケーションからのソースコードまたはパッケージのダウンロード
  • 外部ツールチェーンの使用
  • 必要なライブラリのキャッシュ
  • ソースの事前ビルド(ビルドをイメージにパッケージングする部分のみを受け持つ Cloud Build を使用)

他のビルダーと同様に、カスタム ビルダーは /workspace の下にマウントされたソースで実行され、/workspace の作業ディレクトリで実行されます。特定のビルドステップで /workspace に残されたファイルは、他のビルドステップでも使用できます。

カスタム ビルダーは、ビルド サービス アカウントがアクセスできる Container Registrygcr.io/$PROJECT-NAME/ でホストされています)内のリポジトリに対して push または pull できます。

次の手順は、Dockerfile の例でカスタム ビルダーを作成して使用する方法を示しています。

  1. 次のカスタム ビルダー イメージを作成します。

    1. カスタム ビルダーの Dockerfile を作成します。次のコードは、Dockerfile の例を示しています。

        FROM alpine
        RUN apk add curl
        CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
      
    2. project-idimage-name の値を置き換えて、カスタム ビルダーをビルドしてプロジェクトの Container Registry に push します。

        gcloud builds submit --tag gcr.io/project-id/image-name
      
  2. ビルドステップの name フィールドでビルダーを指定して、Cloud Build でカスタム ビルダー イメージを使用します。

    YAML

        steps:
        - name: 'gcr.io/project-id/image-name'
          id: Determine IP of this build worker
    

    JSON

        {
          "steps": [
          {
            "name": "gcr.io/project-id/image-name",
            "id": "Determine IP of this build worker"
          }
          ]
        }
    
  3. ビルド構成ファイルを使用して手動でビルドを開始するか、トリガーでビルドします。

次のステップ