google-cloud-build - 在云构建配置文件中同时使用 `docker build` 和 `docker push` 与 `cloud build submit` 有什么实际区别吗?

https://cloud.google.com/build/docs/building/build-containers 使用第一个代码块,但我想知道他们为什么不使用第二个。据我所知,他们达到了相同的结果。有什么实际区别吗?

# config 1
steps:
# Build the container image
- name: 'gcr.io/cloud-builders/docker'
  args: ['build', '-t', 'gcr.io/project-id/project-name','.']
- name: 'gcr.io/cloud-builders/docker'
  args: ['push', 'gcr.io/project-id/project-name']
# Deploy container image to Cloud Run
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['run', 'deploy', 'project-name', '--image', 'gcr.io/project-id/project-name', '--region', 'us-central1']
images: ['gcr.io/project-id/project-name']
# config 2
steps:
# Build the container image
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['builds', 'submit', '--region', 'us-central1', '--tag', 'gcr.io/project-id/project-name','.']
# Deploy container image to Cloud Run
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['run', 'deploy', 'project-name', '--image', 'gcr.io/project-id/project-name', '--region', 'us-central1']

我用 gcloud builds submit --config cloudbuild.yaml 运行它

回答1

在第二个配置中,您从 Cloud Build 内部调用 Cloud Build,这意味着您在第二个配置中支付两倍的 docker build/push 过程。

事实上时间线的那个时间

  • 云构建 1
    • 云构建 2
    • Docker 构建
    • Docker 推送
  • 部署在云端运行

此外,并发构建的数量是有限的,使用 config 2,您可以使用 2 倍的配额。

结果是一样的(配置 1 应该会稍微快一些,因为你没有新的 Cloud Build 可以启动)

相似文章

pinescript-v5 - Pinescript 循环警报

设置警报时,我正在运行一个循环以循环浏览40项资产的列表,但警报似乎只针对满足条件的第一项资产触发,而不会检查其余资产。我附上了下面的脚本//@version=5indicator(title='sc...

reactjs - state & props 没有正确刷新

我正在研究手风琴配置器。我是react的新手。我有三个Class:Touche管理4个选择(音符拉,不推,八度拉,八度推)显示所有Touche的键盘显示当前键盘和选择器的KeyboardManager...