Azure devops 发布管道Azure容器注册&;Azure应用程序服务-指定容器标记

Azure devops 发布管道Azure容器注册&;Azure应用程序服务-指定容器标记,azure-devops,tags,azure-web-app-service,containers,release,Azure Devops,Tags,Azure Web App Service,Containers,Release,使用Azure DevOps构建和部署(发布)基于容器的应用程序。在构建管道中构建映像并将其推送到ACR,然后在经典发布管道中将其部署到Azure应用程序服务 构建管道使用基于$(build.BuildId)的标记将映像推送到ACR 发布管道当前配置为使用映像的:最新版本 我想在生产环境中使用:latest标记不是一个好的做法,因为在发布后可能会有多个版本,使用:latest标记生成新的容器映像,而不需要将它们部署到生产环境中。应用服务似乎时不时地启动,然后拉一个比发布管道执行时使用的更新的:最

使用Azure DevOps构建和部署(发布)基于容器的应用程序。在构建管道中构建映像并将其推送到ACR,然后在经典发布管道中将其部署到Azure应用程序服务

构建管道使用基于$(build.BuildId)的标记将映像推送到ACR

发布管道当前配置为使用映像的:最新版本

我想在生产环境中使用:latest标记不是一个好的做法,因为在发布后可能会有多个版本,使用:latest标记生成新的容器映像,而不需要将它们部署到生产环境中。应用服务似乎时不时地启动,然后拉一个比发布管道执行时使用的更新的:最新的映像

我想更改此行为,而是指定在创建新版本时部署哪个映像,并且这将在应用程序服务任务中获取

为了实现这一点,应该如何配置工件和阶段(任务)

如果我在工件部分下选择“在发布创建时指定”,我可以在部署到应用程序服务任务中将其称为标记吗?

如果您使用
$(Build.BuildId)
设置标记,那么您可以在发布管道中使用相同的值指定应该部署的可用版本

如果你检查一下,你会发现这个

Build.BuildId   Release.Artifacts.{Primary artifact alias}.BuildId

因此,您可以使用触发发布的特定标记。

没有获取您的最新信息,Krzysztof Madej的解决方案对您有帮助吗?如果是的话,你可以这样做,这对其他和你有同样困惑的人也有好处。此外,如果您还有任何疑问,请随时在下面留言:-)