首页 > 解决方案 > 使用上一个修订版中的映像进行 Cloud Run 部署

问题描述

我们需要CLoud Run使用以下方法将标签部署到多个服务API method

https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services/replaceService

我们正在寻找可以应用的选项,labelsAPI无需从Container Registry. 我们知道在应用时会有deployment,但我们希望在部署期间它不应该从中提取新图像,而应该使用来自. 任何配置参数,以防止在使用或应用标签时拉出新图像revision changelabelscontainer registrylast revisionCloud RunAPIgcloud run services update SERVICE --update-labels KEY=VALUE

标签: google-cloud-platformgoogle-cloud-rungoogle-container-registry

解决方案


Cloud Run(和 Knative,因为行为相同)的原则是修订是不可变的。因此,如果您更改其中的某些内容,则会创建一个新修订版。你不能假装!

因此,解决方案是不要使用图像的最新标签,而是使用它的 SHA。

# the latest
gcr.io/PROJECT_ID/myImage
gcr.io/PROJECT_ID/myImage:latest

# A specific version
gcr.io/PROJECT_ID/myImage:SHA123465465dfsqfsdf

当然,您必须为此更新 YAML。


推荐阅读