将构建的 Docker 图像从 VSTS 构建管道传递到 VSTS 发布管道

Pass a Built Docker Image from VSTS Build Pipeline to VSTS Release Pipeline

将构建的 Docker 图像从构建管道传递到发布管道

我目前正在 VSTS 构建管道中成功构建 Docker 图像。我想获取这个构建的图像,然后将其发布为构建工件,以便 VSTS 发布管道可以使用我们的 AWS 凭证将图像推送到我们的 Elastic Container Registry。

目前我发现了一堆涉及其中一个或另一个的解决方法——一个构建图像然后通过 CLI 将其推送到 ECR 的构建管道,或者一个带有 Bash 任务的发布管道构建镜像,然后推送一个 ECR 任务。

我尝试了很多不同的方法,包括发布 Ubuntu 存储 Docker 容器的目录(由于权限问题未能成功)。我试图在我的公司中保持一致的范例,即构建管道进行构建,发布管道进行部署;似乎试图不为 ECR 版本混淆这两个想法可能不太合理。

这可能吗?如果可能的话怎么办? 谢谢!

使用服务连接的示例 yaml 构建:

jobs:
- job: build_server
  timeoutInMinutes: 30 
  pool:
    vmImage: 'Ubuntu-16.04'
  steps:
  - checkout: self
    clean: true

  - task: Docker@1
    inputs:
      containerregistrytype: 'Container Registry'
      dockerRegistryEndpoint: yyy
      imageName: xxx
      includeLatestTag: true
      dockerFile: dockerfile
  - task: Docker@1
    inputs:
      containerregistrytype: 'Container Registry'
      dockerRegistryEndpoint: yyy
      imageName: xxx
      command: push