Google 托管 VM 实例组在创建/替换时不会获取最新图像

问题描述 投票:0回答:1

我有一个分支的云构建触发器,用于构建 docker 映像并用最新映像替换组中的 vm 实例,我知道在我们推送到 github 的某个时间之前,它用新实例替换了 vm 实例,并且容器内的代码已更新,但它不再发生了。它总是落后一个更新,所以为了改变我们需要再次运行触发器来更新。

[steps:
- name: gcr.io/cloud-builders/docker
  args: [ build, -t, gcr.io/$PROJECT_ID/$_APP_NAME, . ]
- name: gcr.io/cloud-builders/gcloud
  args: [ compute, instance-groups, managed, rolling-action, replace, $_INSTANCE_GROUP_NAME, --region=$_INSTANCE_GROUP_REGION , --max-unavailable=0, --max-surge=3]

images:
- gcr.io/$PROJECT_ID/$_APP_NAME]

我试着在步骤之间放一个“sleep 60”,还写了一个脚本来删除图像,但结果还是一样。

python docker google-cloud-platform cloudbuild.yaml
1个回答
0
投票

对于所有有类似问题的人: 这个想法是图像被标记和构建,但它在所有步骤之后被上传并推送到注册表,所以虚拟机实例使用的是过时的图像。 要解决这个问题,您需要添加一个将图像推送到注册表的步骤 像这样的东西:

step 1...
- name: gcr.io/cloud-builders/docker
  args: [ push, gcr.io/$PROJECT_ID/$_APP_NAME]
step 3...
© www.soinside.com 2019 - 2024. All rights reserved.