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

时间:2020-08-07 05:30:51

标签: docker containers azure-pipelines azure-pipelines-yaml

我正在使用Azure Pipelines(具有YAML格式)来构建Dockerfile,并将映像推送到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的方法。

谢谢!

最好的问候, 尼古拉

1 个答案:

答案 0 :(得分:0)

不幸的是,现在看起来已经过时了,我找不到使用最新版本的方法。

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

How to use output of DockerV2 task

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

源代码here

产品团队将与参与此任务设计的人员一起工作,并查看如何进行这项工作。

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