如果推送 git 标签,Azure 管道只会添加额外的 docker 标签
Azure pipelines only add extra docker tag if a git tag is pushed
我正在 azure pipelines 中构建一个 CI pipeline 并且正在努力解决以下问题,我有一个始终被触发的构建步骤。因此,我将我的图像提交哈希作为标记以供将来参考。但是,我想在触发推送时添加 gittag 名称。有没有办法有条件地添加这个标签?我当前的任务是:
- task: Docker@2
inputs:
containerRegistry: 'my-registry'
repository: '$(System.TeamProject)/$(Build.Repository.Name)'
command: 'buildAndPush'
Dockerfile: 'Dockerfile'
tags: |
$(Build.SourceVersion)
$(Build.SourceBranchName)
这会添加标签,但是每当对分支的提交是触发器时,我也会得到一个分支标签(develop / main),我想阻止这种情况。
在 YAML 管道中,您可以使用 if
表达式来有条件地动态设置任务输入(参见 here)。
通过此功能,您可以在不同条件下为任务的输入设置不同的值。这个应该可以满足你的需求。
我正在 azure pipelines 中构建一个 CI pipeline 并且正在努力解决以下问题,我有一个始终被触发的构建步骤。因此,我将我的图像提交哈希作为标记以供将来参考。但是,我想在触发推送时添加 gittag 名称。有没有办法有条件地添加这个标签?我当前的任务是:
- task: Docker@2
inputs:
containerRegistry: 'my-registry'
repository: '$(System.TeamProject)/$(Build.Repository.Name)'
command: 'buildAndPush'
Dockerfile: 'Dockerfile'
tags: |
$(Build.SourceVersion)
$(Build.SourceBranchName)
这会添加标签,但是每当对分支的提交是触发器时,我也会得到一个分支标签(develop / main),我想阻止这种情况。
在 YAML 管道中,您可以使用 if
表达式来有条件地动态设置任务输入(参见 here)。
通过此功能,您可以在不同条件下为任务的输入设置不同的值。这个应该可以满足你的需求。