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 には、タスクを実行するために構成ファイルで参照できるビルド済みのイメージが用意されています。これらのビルド済みのイメージは次の場所にあります。
gcr.io/cloud-builders/...
これらのビルダーのソースコードは、クラウド ビルダーの GitHub リポジトリから入手できます。
サポートされているビルド済みイメージの使用例については、コンテナ イメージのビルドと Cloud Run へのデプロイをご覧ください。
次の表に、サポートされているビルダー イメージの例を示します。
Builder | 名前 | 例 |
---|---|---|
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 の例 |
gradle | gcr.io/cloud-builders/gradle |
gradle の例 |
maven | gcr.io/cloud-builders/mvn |
maven の例 |
Cloud Build でサポートされているビルダーのリスト。 |
コミュニティ提供のビルダー
Cloud Build のデベロッパー コミュニティから、タスク実行のために使用できるオープンソースのビルダーが提供されています。それらのビルダーでビルド済みのイメージは使用できません。それらのビルダーを使用するには、クラウド ビルダー コミュニティの GitHub リポジトリからソースコードをダウンロードして、イメージをビルドします。コミュニティ提供のビルダーをビルドしてタスクに使用する方法の例については、Packer を使用した VM イメージのビルドをご覧ください。
次の表に、コミュニティ提供ビルダーの例を示します。
Builder | 説明 |
---|---|
docker-compose |
docker イメージで統合テストを実行します。 |
harness-chaos |
Harness Chaos Engineering を使用してカオス テストを開始し、アプリケーションの復元力をテストします。 |
helm |
Helm を使用して Kubernetes パッケージを管理します。 |
kaniko |
kaniko を使用してビルドステップを実行します。 |
pack |
指定された Cloud Native Buildpack を使用してビルドステップを実行します。 |
packer |
Packer を使用してマシンイメージの作成を自動化します |
remote-builder |
構成可能な Compute Engine VM 上でビルドステップを実行します。 |
Cloud Build 向けのコミュニティ提供ビルダーのリスト。 |
コミュニティ提供ビルダーは、クラウド ビルダーのコミュニティのオープンソース コミュニティによって維持管理されています。Cloud Build は、これらのビルダーを正式には維持管理していません。ビルダーを提供する方法については、クラウド ビルダーのコミュニティ GitHub ページをご覧ください。
独自のカスタム ビルダーの作成
ビルドで使用するための独自のカスタム ビルダーを作成できます。カスタム ビルダーは、Cloud Build がソースを取得して実行するコンテナ イメージです。カスタム ビルダーでは、コンテナ内の任意のスクリプトまたはバイナリを実行できるため、コンテナが実行できる処理はこのビルダーによって実行できます。カスタム ビルダー作成の手順については、カスタム ビルドステップの作成をご覧ください。
次のステップ
- コミュニティ提供のビルダーとカスタム ビルダーを使用する方法を学習する。
- ビルド構成ファイルの構造について学習する。
- 一般公開の
node
イメージでNode.js
アプリケーションをビルドする方法を学習する。 - ビルド済みの
gcloud
イメージを Cloud Run 関数にデプロイする方法を学習する。 - コミュニティ提供の
firebase
イメージを Firebase にデプロイする方法を学習する。