本指南中的以下步骤重点介绍使用 Cloud Build 进行远程构建。对于本地构建,请参阅缓存映像说明和 pack
命令参考文档页面。
将缓存映像与 Cloud Build 搭配使用
您必须创建构建配置文件(例如 cloudbuild.yaml
),以在 Cloud Build 中启用 Buildpack 缓存映像。您的构建配置文件会指示 pack
CLI 将构建映像发布到指定的远程代码库。然后,这个构建映像就会用作后续构建的“缓存映像”。
请注意,使用新的构建配置文件运行的第一个构建会使用 pack
命令创建初始构建映像缓存,然后将其推送到您的代码库。只有在初始缓存映像可供构建使用后,您才能看到构建性能的提升。
创建构建配置文件
如需定义 Cloud Build 配置文件,您必须编写一个 YAML 文件,其中包含使用 pack
CLI 创建映像的构建步骤。
在下面的示例 cloudbuild.yaml
中,构建使用 Buildpack 为您的应用或函数创建映像,创建初始构建缓存映像,并将其推送到代码库:
options: logging: CLOUD_LOGGING_ONLY pool: {} projectId: PROJECT_ID steps: - name: gcr.io/k8s-skaffold/pack entrypoint: pack args: - build - LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME - --builder - gcr.io/buildpacks/builder:latest - --cache-image - LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/CACHE_IMAGE_NAME:latest - --publish
您需要进行如下替换:
- 将
LOCATION
替换为容器仓库的区域名称。示例:us-west2
- 将
PROJECT_ID
替换为您的 Google Cloud 项目的 ID。 - 将
REPO_NAME
替换为 Docker 仓库的名称。 - 将
IMAGE_NAME
替换为应用或函数容器映像的名称。 - 将
CACHE_IMAGE_NAME
替换为构建缓存映像的名称。
另请在 pack build
命令参考文档中参阅您可以在构建配置文件中定义的其他受支持的参数。
使用缓存映像远程构建
如需运行构建,您需要添加 --config
命令标志并指定配置文件。例如,如需使用名为 cloudbuild.yaml
的文件,您可以运行以下命令:
gcloud builds submit --config cloudbuild.yaml --pack image=example-docker.pkg.dev/my-project-id/repo/example-image