如何在 DevOps 构建管道中创建条件构建属性
How to create conditional build properties in DevOps build pipeline
我有以下构建管道任务:
- task: NuGetCommand@2
displayName: 'Pack CodingStyles.nuspec'
inputs:
command: 'pack'
packagesToPack: 'src\CodingStyles\CodingStyles.nuspec'
packDestination: 'src\CodingStyles\bin'
versioningScheme: 'off'
buildProperties: '-NoDefaultExcludes -Version $(Build_Major).$(Build_Minor).$(Build_Patch)'
但是,如果变量 $IsPreRelease
为真,我还想添加另一个构建 属性:
buildProperties: '-NoDefaultExcludes -Version $(Build_Major).$(Build_Minor).$(Build_Patch) -Suffix beta'
关于如何做到这一点的一些想法:
- 我可以有这个任务的两个不同版本,每个版本都有一个基于变量的
condition:
。这可能会奏效,但它非常多余,因为其他一切都是一样的。
- 运行 Powershell 任务而不是 NuGetCommand 任务,并动态构建我的命令行。
我缺少任何选项吗?
- task: NuGetCommand@2
displayName: 'Pack CodingStyles.nuspec'
inputs:
command: 'pack'
packagesToPack: 'src\CodingStyles\CodingStyles.nuspec'
packDestination: 'src\CodingStyles\bin'
versioningScheme: 'off'
${{ if ne(variables['IsPreRelease'], 'true') }}:
buildProperties: '-NoDefaultExcludes -Version $(Build_Major).$(Build_Minor).$(Build_Patch)'
${{ if eq(variables['IsPreRelease'], 'true') }}:
buildProperties: '-NoDefaultExcludes -Version $(Build_Major).$(Build_Minor).$(Build_Patch) -Suffix beta'
我有以下构建管道任务:
- task: NuGetCommand@2
displayName: 'Pack CodingStyles.nuspec'
inputs:
command: 'pack'
packagesToPack: 'src\CodingStyles\CodingStyles.nuspec'
packDestination: 'src\CodingStyles\bin'
versioningScheme: 'off'
buildProperties: '-NoDefaultExcludes -Version $(Build_Major).$(Build_Minor).$(Build_Patch)'
但是,如果变量 $IsPreRelease
为真,我还想添加另一个构建 属性:
buildProperties: '-NoDefaultExcludes -Version $(Build_Major).$(Build_Minor).$(Build_Patch) -Suffix beta'
关于如何做到这一点的一些想法:
- 我可以有这个任务的两个不同版本,每个版本都有一个基于变量的
condition:
。这可能会奏效,但它非常多余,因为其他一切都是一样的。 - 运行 Powershell 任务而不是 NuGetCommand 任务,并动态构建我的命令行。
我缺少任何选项吗?
- task: NuGetCommand@2
displayName: 'Pack CodingStyles.nuspec'
inputs:
command: 'pack'
packagesToPack: 'src\CodingStyles\CodingStyles.nuspec'
packDestination: 'src\CodingStyles\bin'
versioningScheme: 'off'
${{ if ne(variables['IsPreRelease'], 'true') }}:
buildProperties: '-NoDefaultExcludes -Version $(Build_Major).$(Build_Minor).$(Build_Patch)'
${{ if eq(variables['IsPreRelease'], 'true') }}:
buildProperties: '-NoDefaultExcludes -Version $(Build_Major).$(Build_Minor).$(Build_Patch) -Suffix beta'