在云构建配置文件中一起使用“docker build”和“docker push”与“cloud build submit”之间有什么实际区别?
Any practical difference between using `docker build` & `docker push` together vs. `cloud build submit` in cloud build config files?
Google Cloud docs 使用第一个代码块,但我想知道为什么他们不使用第二个代码块。据我所知,他们取得了相同的结果。有什么实际区别吗?
# 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
在第二个配置中,您从 Cloud Build 内部调用 Cloud Build,这意味着您在第二个配置中支付两倍的 docker build/push 过程。
时间线的那个时间
- 云构建 1
- 云构建 2
- Docker 构建
- Docker 推送
- 在云端部署运行
此外,并发构建的数量是有限的,配置 2 使用的配额是原来的 2 倍。
结果是一样的(配置 1 应该稍微快一些,因为您没有新的 Cloud Build 可以启动)
Google Cloud docs 使用第一个代码块,但我想知道为什么他们不使用第二个代码块。据我所知,他们取得了相同的结果。有什么实际区别吗?
# 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
在第二个配置中,您从 Cloud Build 内部调用 Cloud Build,这意味着您在第二个配置中支付两倍的 docker build/push 过程。
时间线的那个时间
- 云构建 1
- 云构建 2
- Docker 构建
- Docker 推送
- 在云端部署运行
此外,并发构建的数量是有限的,配置 2 使用的配额是原来的 2 倍。
结果是一样的(配置 1 应该稍微快一些,因为您没有新的 Cloud Build 可以启动)