【问题标题】:How can I query which docker image is currently deployed to an app service from an azure release pipeline?如何从 azure 发布管道查询当前部署到应用服务的 docker 映像?
【发布时间】:2021-04-21 11:20:30
【问题描述】:

我有一个 Azure 发布管道,它使用 Azure Web App for Containers 任务在 Azure 应用服务上部署 docker 映像。

图片以some_image:$(Build.BuildId)的形式指定。管道按预期工作,并使用最新构建的映像成功更新应用服务。

我想从另一个发布管道中使用该图像执行docker run 命令。我注意到 Docker 任务的版本 1 允许我在 docker 映像上执行这样的 docker run 命令(不知道为什么版本 2 中缺少 run ),但是如何指定 docker 映像?如何获取当前部署在该应用服务上的映像?

【问题讨论】:

  • 我不确定您为什么要在同一步骤中执行此操作,但这应该会有所帮助stackoverflow.com/questions/63583510/…
  • 我不想在同一个步骤中进行,我想使用不同的管道。不幸的是它没有帮助,我不想为运行命令使用最新构建的图像,我想使用最新部署的图像。
  • 在这种情况下,你可以传递容器注册表,然后传递镜像名称,这有什么困难
  • 但是当前部署的是哪个镜像版本?
  • 您是否需要知道 Azure Web App 中部署的当前版本是什么?您可以使用 AZ CLI 或 Powershell 脚本来获取此信息吗?

标签: azure azure-pipelines azure-pipelines-release-pipeline azure-pipelines-release-task


【解决方案1】:

您可以在YAML pipeline 中使用 PowerShell 或 Shell 脚本。由于您已经知道容器注册表和镜像名称,因此只需使用以下命令获取最新版本

az acr repository show-tags -n MyRegistry --repository MyRepository --top 1 --orderby time_desc --detail

https://docs.microsoft.com/en-us/cli/azure/acr/repository?view=azure-cli-latest#az_acr_repository_show_tags

【讨论】:

猜你喜欢
  • 2021-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-13
  • 1970-01-01
  • 2020-05-10
  • 2019-09-28
  • 1970-01-01
相关资源
最近更新 更多