【发布时间】:2020-02-18 15:28:39
【问题描述】:
我正在使用 Azure DevOps 构建管道,但我希望更改构建的名称。根据documentation,这是完全可能的。
考虑到这一点,我测试了以下内容,效果很好。到目前为止一切顺利...
name: '1.0.$(Rev:r)-$(Build.SourceBranchName)'
1.0.1-master
但是,我的要求之一是排除分支名称(如果它是“master”),因此我尝试了以下操作。这似乎在第一个实例中起作用,因为“master”没有附加分支名称,但是当我运行功能分支时,我发现 $(Build.SourceBranchName) 没有被扩展。
variables:
${{ if eq(variables['Build.SourceBranchName'], 'master') }}:
branchName: ''
${{ if ne(variables['Build.SourceBranchName'], 'master') }}:
branchName: '-$(Build.SourceBranchName)'
name: '1.0.$(Rev:r)$(branchName)'
我已经尝试了${{ variables.Build.SourceBranchName }} 和$[variables.Build.SourceBranchName],如documentation 中所述,但正如所写的那样,它们的令牌要么被忽略,要么返回一个空字符串。这三种格式给我留下了以下构建名称。
1.0.1-$(Build.SourceBranchName)
1.0.1-
1.0.1-$[variables.Build.SourceBranchName]
自定义命名周围的documentation 提到了变量$(SourceBranchName),但我已经尝试过了,它也失败了。
我感到困惑的是variables:段中的表达式可以访问变量值as described here,但似乎variables:段本身不能。
是否可以有条件地命名构建,以便我可以根据需要包含/排除分支名称?
【问题讨论】: