容器的Azure DevOps作业步骤

时间:2020-03-19 11:23:31

标签: docker azure-devops yaml

是否可以设置多个步骤并从上一步下载容器,所以您不必再次构建容器?

当前情况:

steps

因此,在发布步骤中,我只想从构建步骤上载预构建的容器,因此可以上载相关的容器注册表。

为什么?因为管道在拉取请求期间触发,所以即使将触发设置为:

trigger:
- master
- release/*

我想像这样:

jobs:
  - job: build_and_tests
    steps:
      - script: docker build --no-cache -t {...}
        displayName: 'Building dockerfile'
    ...
    ...
    ...
    # upload docker **container** to artifacts?

  - job: build_and_publish
    dependsOn: build_and_tests
    condition: and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/')) )
    steps:
    #  - download: download the docker **container** from previous job step?

      - script: docker login -u $(registryUser) -p $(registryPassword) $(registryName)
        displayName: 'Login to ACR'
     ...
     ...
     ...

#标志着我的想象力:)有什么想法吗?

1 个答案:

答案 0 :(得分:2)

将dockerfile上传到工件吗?下载:从以下位置下载dockerfile 上一个工作步骤?

根据描述,如果仅实现了这两种想象力,则可以将copy file任务和Publish build artifacts任务添加到第一个任务,以将dockerfile上传到工件。然后通过第二个作业中的Download build artifacts任务下载dockerfile。

以下是这些任务的引用: