通过容器注册表标记选择进行 Azure AppService 持续部署

时间:2021-05-14 12:42:11

标签: azure docker azure-web-app-service azure-container-registry

我有一个使用 Azure 容器注册表的 AppService。
docker 镜像由管道构建,并通过 Azure Release 中的“Docker 推送”任务推送。
我正在使用语义版本控制,我将版本放入 BuildNumber 和图像名称中。

enter image description here

我可以在 DeploymentCenter 中看到我的图像以及迄今为止推送的所有标签。

enter image description here

但是,每当我在 AZ DevOps 中创建 Release 时,它​​都不会自动部署到 AppService。 我必须转到部署中心,选择最新的标签,然后再次重新部署(重新启动应用似乎不起作用,但我不能 100% 确定)。

无论如何,我希望在 DevOps 中发布成功时更新 AppService 并自动运行最新的映像。 对 ACR 的 Docker push 任务可以实现吗?

另外,我想知道 - 我选中了“包括最新标签”复选框,但“最新”标签在部署中心的标签下拉列表中不可用。这是为什么?

1 个答案:

答案 0 :(得分:1)

<块引用>

Docker 推送任务到 ACR 是否可能?

当然,是的。但是您需要知道的是,App Service 的持续部署只会触发一个无法更改的标签。通常,我们使用特定的标签latest。所以你需要一直创建带有标签 latest 的镜像,不要在 DevOps 中使用默认标签 $(Build.BuildId)

<块引用>

我选中了“包括最新标签”复选框,但“最新”标签 在部署中心的标签下拉列表中不可用。为什么是 那个?

我对 DevOps 不熟悉,但我认为 include latest tag 表示最新的 Build.BuildId,而不是某个特定标签,因此每次创建映像并推送时它都会更改。它不适用于应用服务持续部署。