我试图根据build中的源分支以及设置发布版本变量来设置构建配置。
当我在不同的分支上测试时,isRelease被适当地设置为true或false,但是条件不起作用。不管isRelease是什么(真/假),构建配置总是'Debug‘。我试过多种语法。有什么帮助吗?
我有这个:
trigger:
branches:
include:
- develop,
- release/*,
- Release/*
pool:
name: 'MyPool'
variables:
isRelease: $[contains(variables['Build.SourceBranch'], 'release')]
${{ if eq(variables['isRelease'], 'true') }}:
buildConfiguration: 'Release'
version.Major: '1',
version.Minor: $[counter(variables['version.Major'], 1)]
versionNumber: $(version.Major).$(version.Minor).$(Build.BuildNumber)'
${{ if eq(variables['isRelease'], 'false') }}:
buildConfiguration: 'Debug'
steps...
echo: $(buildConfiguration) // is echoing literally $(buildConfiguration)发布于 2021-03-11 18:04:31
尝试去掉附加变量并直接比较源分支,如下所示:
variables:
${{ if contains(variables['Build.SourceBranch'], 'release') }}:
buildConfiguration: 'Release'
version.Major: '1',
version.Minor: $[counter(variables['version.Major'], 1)]
versionNumber: $(version.Major).$(version.Minor).$(Build.BuildNumber)'
${{ if not(contains(variables['Build.SourceBranch'], 'release')) }}:
buildConfiguration: 'Debug'来自Microsoft上的模板表达式:
在编译时表达式(${{ }})中,您可以访问参数和静态定义的变量。
对我来说,这意味着具有运行时设置的变量将无法“输入”该模板表达式。
https://stackoverflow.com/questions/66587926
复制相似问题