对于几种环境,我需要具有不同的docker映像标记策略,即:开发和发行版应使用“最新”标记,而生产版应具有适当的版本标记。
我目前正在对所有AzureDevOps构建管道使用单个Yaml文件,并且希望将图像标记模式定义为每个构建的变量,/ let称为$(Versioned)/。
构建步骤如下所示:
steps - bash: docker push $(imageFullName):latest displayName: 'docker push'
因此,这里有任何方法可以使用IF语句或其他条件操作。 例如:
steps - bash: docker push $(imageFullName):IF($(Versioned), $(Build.BuildNumber), latest) displayName: 'docker push'
答案 0 :(得分:1)
您可以使用以下方法进行此操作:
steps
- bash: docker push $(imageFullName):latest
displayName: 'docker push'
condition: eq($(Versioned), 'true')
- bash: docker push $(imageFullName):$(Build.BuildNumber)
displayName: 'docker push'
condition: ne($(Versioned), 'true')