ビルダーとは、バージョニングされたイメージで、実行可能なコンテナの作成に必要なすべてのコンポーネントを含みます。各ビルダーでは、Ubuntu 22 などの特定の OS ディストリビューションがベースイメージとして使用され、複数のプログラミング言語のバージョンがサポートされています。
次が必要である場合は、ビルダー バージョンをカスタマイズする必要があります。
- 特定のビルダー バージョンでのみ使用できる OS 固有の依存関係。
- 特定のビルダー バージョンでのみ使用できるプログラミング言語の特定のバージョン。
ローカルビルド
ローカルビルドの場合、Pack CLI と Docker がインストールされている必要があります。
始める前に
- Docker Community Edition(CE)をワークステーションにインストールします。
pack
は Docker を OCI イメージ ビルダーとして使用します。 - Pack CLI をインストールします。
- GitHub からサンプル アプリケーションを取得するために Git ソース管理ツールをインストールします。
pack
でビルダー バージョンを指定する
pack コマンドに --builder
フラグを追加すると、使用するビルダーのバージョンを指定できます。
pack build SERVICE_IMAGE_NAME --builder=BUILDER_IMAGE_URL
次のように置き換えます。
BUILDER_IMAGE_URL
は、ビルダーの URL に置き換えます。例:gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
は、アプリケーション イメージに選択した名前に置き換えます。
pack
コマンドについて詳しくは、CLI のドキュメントをご覧ください。
project.toml
でビルダー バージョンを指定する
Buildpacks のプロジェクト記述子(project.toml
)を使用して、pack
でビルドするときのビルダーを設定できます。
- アプリケーションのルート ディレクトリに
project.toml
というファイルを作成し、次の構成を記述します。[build] builder = "BUILDER_IMAGE_URL"
-
「pack」コマンドを実行して、アプリケーションをビルドします。
pack build SERVICE_IMAGE_NAME
次のように置き換えます。
BUILDER_IMAGE_URL
は、ビルダーの URLに置き換えます。例:gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
は、アプリケーション イメージに選択した名前に置き換えます。
リモートビルド
プロジェクトを送信するときに --pack
フラグを追加すると、Cloud Build で特定のビルダーを使用できます。
始める前に
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud Build and Artifact Registry API を有効にします。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud Build and Artifact Registry API を有効にします。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
- Google Cloud プロジェクトがコンテナ イメージ リポジトリにアクセスできることを確認します。
Artifact Registry の Docker リポジトリへのアクセスを構成するには:
- Google Cloud プロジェクトの同じロケーションに Docker リポジトリを新規作成します。
gcloud artifacts repositories create REPO_NAME \ --repository-format=docker \ --location=REGION --description="DESCRIPTION"
次のように置き換えます。REPO_NAME
は、Docker リポジトリに選択した名前に置き換えます。REGION
は、Google Cloud プロジェクトのロケーションに、またはそれに最も近いロケーションに置き換えます。DESCRIPTION
は選択した説明に置き換えます。
たとえば、「Docker repository」という説明を使用して
us-west2
にdocker
リポジトリを作成するには、次のコマンドを実行します。gcloud artifacts repositories create buildpacks-docker-repo --repository-format=docker \ --location=us-west2 --description="Docker repository"
- リポジトリが作成されたことを確認します。
gcloud artifacts repositories list
Docker リポジトリに選択した名前がリストに表示されます。
- Google Cloud プロジェクトの同じロケーションに Docker リポジトリを新規作成します。
特定のビルダーを使用してアプリケーションをビルドする
gcloud
を使用して、アプリケーションのソースコードを Cloud Build に送信します。gcloud builds submit --pack builder=BUILDER_IMAGE_URL,image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/SERVICE_IMAGE_NAME
次のように置き換えます。
BUILDER_IMAGE_URL
は、ビルダーの URL に置き換えます。 例:gcr.io/buildpacks/builder:google-22
LOCATION
は、コンテナ リポジトリのリージョン名に置き換えます。例:us-west2-docker.pkg.dev
PROJECT_ID
は、Google Cloud プロジェクトの ID に置き換えます。REPO_NAME
は Docker リポジトリの名前に置き換えます。SERVICE_IMAGE_NAME
は、作成したコンテナ イメージの名前に置き換えます。
submit
コマンドについて詳しくは、Cloud Build のドキュメントをご覧ください。-
サンプル アプリケーションが
REPO_NAME
に正常に公開されたことを確認します。gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME
次のように置き換えます。
LOCATION
は、コンテナ リポジトリのリージョン名に置き換えます。例:us-west2-docker.pkg.dev
PROJECT_ID
は、Google Cloud プロジェクトの ID に置き換えます。REPO_NAME
は Docker リポジトリの名前に置き換えます。
Cloud Run を使用してソースからデプロイする
Buildpacks のプロジェクト記述子ファイル(project.toml
など)を使用して、Cloud Run でソースからデプロイするときのビルダーを設定できます。
- アプリケーション ディレクトリのルートで
project.toml
ファイルを初期化し、次の構成を貼り付けます。[build] builder = "BUILDER_IMAGE_URL"
-
ソースからアプリケーションをデプロイします。
gcloud run deploy --source . SERVICE_IMAGE_NAME
次のように置き換えます。
BUILDER_IMAGE_URL
は、ビルダーの URL に置き換えます。例:gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
は、作成したコンテナ イメージの名前に置き換えます。