在Azure Devops生成管道YAML中合并变量

时间:2020-04-13 01:20:47

标签: docker-compose azure-devops azure-pipelines

我要在Azure Devops Build管道YAML文件中创建docker生成和推送任务,并且我想使用两个变量(项目名称和内部版本号)的组合来标记图像。是service_22(service是项目,22是内部版本号)。

如何将两个变量结合在一起,例如$(变量)_ $(变量2)

- task: Docker@2
  inputs:
    containerRegistry: 'Azure'
    repository: 'jdmcontainers'
    command: 'buildAndPush'
    Dockerfile: 'Dockerfile'
    tags: |
      $(Build.BuildId)
      $(imageName)

这是当前文件,标签被添加为单独的单独标签。

2 个答案:

答案 0 :(得分:8)

对于那些来到这里并实际上正在寻找一种在工作变量声明组合两个字符串/变量的方法,您可以使用 format() 表达式 (docs link):

- job: Build
  variables:
    job_variable: $[format('Hey-{0}', variables['Build.Reason'])]

希望对某人有所帮助,至少我搜索了几个小时但一无所获。 ^^

答案 1 :(得分:0)

尝试以下格式:

steps:
- task: Docker@2
  displayName: buildAndPush
  inputs:
    xxxx
    tags: '$(System.TeamProject)_$(Build.Buildid)'

$(System.TeamProject)是一个可以获取当前项目名称的环境变量。


enter image description here