Azure 管道根据条件设置任务的显示名称
Azure pipeline set displayname of task based on condition
在构建管道中,我有一个使用 powershell 脚本的工作,它基于这样的变量设置应用程序名称:
$applicationName = If ('$(configuration)' -eq 'Release') { 'Appname' } Else { 'Appname-Test' }
Write-Host "##vso[task.setvariable variable=applicationName]$applicationName"
我尝试将 PublishBuildArtifacts@1
变量的显示名称设置为这样的变量:
- task: PublishBuildArtifacts@1
displayName: $[variables.applicationName] # runtime variable
但这字面上显示 $[variables.applicationName]
而不是变量值。如何根据变量更改任务的显示名称?
目前看来这不可能。在我发现的两个问题中,他们将此描述为功能请求。
https://github.com/MicrosoftDocs/azure-devops-docs/issues/2327
您可以这样使用变量:$(variableName)。例如:
pool:
vmImage: 'windows-latest'
variables:
test: "SomeValue"
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: 'Write-Host "Hello World"'
displayName: "The variable $(test)"
结果是:
我认为 ${{..}}
是正确的选择。您在编译时知道 configuration
,因此您可以在编译时创建应用程序名称。
variables:
${{ if eq(variables.configuration, 'Release') }}:
applicationName: 'Appname'
${{ if ne(variables.configuration, 'Release') }}:
applicationName: 'Appname-Test'
- task: PublishBuildArtifacts@1
displayName: ${{ variables.applicationName }}
在构建管道中,我有一个使用 powershell 脚本的工作,它基于这样的变量设置应用程序名称:
$applicationName = If ('$(configuration)' -eq 'Release') { 'Appname' } Else { 'Appname-Test' }
Write-Host "##vso[task.setvariable variable=applicationName]$applicationName"
我尝试将 PublishBuildArtifacts@1
变量的显示名称设置为这样的变量:
- task: PublishBuildArtifacts@1
displayName: $[variables.applicationName] # runtime variable
但这字面上显示 $[variables.applicationName]
而不是变量值。如何根据变量更改任务的显示名称?
目前看来这不可能。在我发现的两个问题中,他们将此描述为功能请求。
https://github.com/MicrosoftDocs/azure-devops-docs/issues/2327
您可以这样使用变量:$(variableName)。例如:
pool:
vmImage: 'windows-latest'
variables:
test: "SomeValue"
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: 'Write-Host "Hello World"'
displayName: "The variable $(test)"
结果是:
我认为 ${{..}}
是正确的选择。您在编译时知道 configuration
,因此您可以在编译时创建应用程序名称。
variables:
${{ if eq(variables.configuration, 'Release') }}:
applicationName: 'Appname'
${{ if ne(variables.configuration, 'Release') }}:
applicationName: 'Appname-Test'
- task: PublishBuildArtifacts@1
displayName: ${{ variables.applicationName }}