Azure Pipelines:为DotNetCoreCLI构建任务配置可选BuildConfiguration变量及默认值
在Azure Pipelines中配置可选BuildConfiguration变量并设置默认值
你可以通过两种方式实现需求,避免未定义变量时的执行失败:
方法一:提前定义带默认值的可配置变量
- 打开Pipeline编辑页面,切换到变量选项卡
- 添加名为
BuildConfiguration的变量:- 设置默认值为
Release - 勾选可在队列时设置选项(这样排队或Pipeline设置UI中能修改值)
- 设置默认值为
- 在DotNetCoreCLI任务中直接使用变量:
- task: DotNetCoreCLI@2 inputs: command: 'build' projects: '**/*.csproj' arguments: '--configuration $(BuildConfiguration)'
方法二:用表达式动态赋值(无需提前定义变量)
如果不想提前在变量列表中定义BuildConfiguration,可以用Azure Pipelines的空合并表达式,在任务中直接处理默认值:
- task: DotNetCoreCLI@2 inputs: command: 'build' projects: '**/*.csproj' arguments: '--configuration ${{ variables.BuildConfiguration ?? 'Release' }}'
这里的??运算符会判断变量是否存在:如果已定义则使用其值,未定义则 fallback 到Release。
为什么之前的方式会失败?
当BuildConfiguration未定义时,$(BuildConfiguration)会被解析为空字符串,导致dotnet build命令的--configuration参数没有有效值,进而触发执行错误。上面两种方法都能确保参数始终有合法值。
内容的提问来源于stack exchange,提问作者Rizan Zaky
相关产品推荐
相关产品推荐

