使用 Azure 管道标记 docker 个容器

Tagging docker containers with azure pipelines

我有一个多级 YAML Azure 管道。我根据构建 ID 标记我的图像。在作业失败并且我需要重新运行它之前,它一直有效。

在 re运行 上,我得到一个新增加的构建 ID,因此它不再引用原始 运行.

中使用的相同 docker 图像

$(Build.BuildId)

这附近有没有?

Re-running 工作或阶段没有改变 Build.BuildId。我使用下面的管道检查了这个。但是,如果您想 运行 整个管道用于相同的构建 ID,您可以尝试使用 运行 时间参数并自行提供标签名称(如下所示):

parameters:
- name: tagName
  type: string
  default: ' '

trigger: none
pr: none

pool:
  vmImage: 'ubuntu-latest'


stages:
- stage: A
  jobs:
  - job: A
    steps:
    - pwsh: |
        $tagName = '$(Build.BuildId)'
        if('${{ parameters.tagName }}' -ne ' ') {
          $tagName = '${{ parameters.tagName }}'
        }
        echo $tagName

  - job: B
    steps:
    - bash: echo "B"

- stage: B
  jobs:
  - job: A
    steps:
    - pwsh: |
        $tagName = '$(Build.BuildId)'
        if('${{ parameters.tagName }}' -ne ' ') {
          $tagName = '${{ parameters.tagName }}'
        }
        echo $tagName
    - bash: exit 1

  - job: B
    steps:
    - bash: echo "B"

您可以展开舞台并重新运行舞台,这不会更改 buildId: