从天蓝色管道内的 Docker 任务中检索图像摘要值

Retrieve image digest value from Docker task inside azure pipelines

我正在使用 Azure Pipelines(使用 YAML 格式)构建 Docker 文件并将图像推送到 Azure Container Registry

这是 YAML 定义的一部分:

- task: Docker@2
  displayName: Build Dockerfile
  inputs:
    command: 'build'
    containerRegistry: 'containerRegistry'
    repository: '$(imageRepository)'
    Dockerfile: 'src/Api/Dockerfile'
    buildContext: '.'
    tags: '$(imageTag)'

- task: Docker@2
  displayName: Push image
  inputs:
    command: push
    containerRegistry: 'containerRegistry'
    repository: '$(imageRepository)'
    tags: '$(imageTag)'

所以我的问题是,有没有办法检索 docker push 任务的摘要值,以便我可以在下一个任务中使用它?

似乎在旧版本的Docker任务中,这是可能的,并且有一个任务参数imageDigestFile,我指的是Docker@0

不幸的是,现在看起来已经过时了,我找不到使用 latest version 的方法。

谢谢!

此致, 尼古拉

Unfortunately now that looks deprecated and I can't find a way to do it using the latest version.

这是最新版本 docker 推送任务的已知问题:

How to use output of DockerV2 task

那是因为该产品团队已尝试限制任务的输入数量以在 DockerV2 中简化它。所以他们没有提供图像摘要文件的支持。但是图像摘要被写入名为 DockerOutput.

的输出

源代码here.

并且产品团队将与参与此任务设计的人员合作,看看如何完成这项工作。

要解决此问题,我们可以尝试使用旧版本的 Docker 任务或解析输出 DockerOutput 并获取图像摘要