クラウド ビルダー

Cloud Builder は、一般的な言語とツールがインストールされているコンテナ イメージです。これらのビルダーのコンテキストで特定のコマンドを実行するように、Cloud Build を構成できます。

このページでは、Cloud Build で使用できるビルダーの種類について説明します。

一般公開のイメージ

Cloud Build では、一般公開されているイメージを使用してタスクを実行できます。イメージを使用するには、構成ファイルの name フィールドにイメージ URL を指定します。args フィールドを使用して、イメージ内で実行するコマンドを指定します。ビルドステップの args フィールドは引数のリストを受け取り、name フィールドによって参照されるイメージに渡します。

次のコード スニペットは、Docker Hub から一般公開の ubuntu イメージを使用して、そのイメージ内でコマンドを実行する方法を示しています。

steps:
- name: 'ubuntu'
  args: ['echo', 'hello world']

次のコードスニペットに関する別の例では、Google Cloud Console Launcher から入手した Cloud Build の Black Duck オープンソース スキャナ用のイメージを使用しています。

steps:
- name: launcher.gcr.io/blackduck-public/blackducksoftware-containerbuilder-scanner
  ...

Docker Hub から取得した一般公開されているイメージをタスクで使用する方法に関するその他の例については、Node.js アプリケーションのビルドGo アプリケーションのビルドをご覧ください。

Cloud Build 提供のサポートされているビルダー イメージ

Cloud Build には、タスクを実行するために構成ファイルで参照できるビルド済みのイメージが用意されています。これらのビルド済みのイメージは Container Registry の次の場所にあります。

gcr.io/cloud-builders/...

これらのビルダーのソースコードは、クラウド ビルダーの GitHub リポジトリから入手できます。

サポートされているビルド済みイメージの使用例については、コンテナ イメージのビルドCloud Run へのデプロイをご覧ください。

次の表に、サポートされているビルダー イメージの例を示します。

ビルダー 名前
bazel gcr.io/cloud-builders/bazel bazel の例
docker gcr.io/cloud-builders/docker docker の例
git gcr.io/cloud-builders/git git の例
gcloud gcr.io/cloud-builders/gcloud gcloud の例
gke-deploy gcr.io/cloud-builders/gke-deploy gke-deploy の例
Cloud Build でサポートされているビルダーのリスト

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

Cloud Build のデベロッパー コミュニティから、タスク実行のために使用できるオープンソースのビルダーが提供されています。それらのビルダーでビルド済みのイメージは使用できません。それらのビルダーを使用するには、クラウド ビルダー コミュニティの GitHub リポジトリからソースコードをダウンロードして、イメージをビルドします。コミュニティ提供のビルダーをビルドしてタスクに使用する方法の例については、Packer を使用した VM イメージのビルドをご覧ください。

次の表に、コミュニティ提供ビルダーの例を示します。

ビルダー 説明
docker-compose docker イメージで統合テストを実行します。
remote-builder 構成可能な Compute Engine VM 上でビルドステップを実行します。
packer Packer を使用してマシンイメージの作成を自動化します
helm Helm を使用して Kubernetes パッケージを管理します。
Cloud Build 向けのコミュニティ提供ビルダーのリスト。

ビルダーを提供する方法については、クラウド ビルダーのコミュニティ GitHub ページをご覧ください。

独自のカスタム ビルダーの作成

ビルドで使用するための独自のカスタム ビルダーを作成できます。カスタム ビルダーは、Cloud Build がソースを取得して実行するコンテナ イメージです。カスタム ビルダーでは、コンテナ内の任意のスクリプトまたはバイナリを実行できるため、コンテナが実行できる処理はこのビルダーによって実行できます。カスタム ビルダー作成の手順については、カスタム ビルドステップの作成をご覧ください。

次のステップ