簡體   English   中英

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]而不是變量值。 如何根據變量更改任務的顯示名稱?

您可以通過這種方式使用變量:$(variableName)。 例如:

pool:
  vmImage: 'windows-latest'

variables:
  test: "SomeValue"

steps:
- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: 'Write-Host "Hello World"'
  displayName: "The variable $(test)"

結果是:

在此處輸入圖像描述

目前看來這是不可能的。 在我發現的兩個問題中,他們都將其描述為功能請求。

https://github.com/MicrosoftDocs/azure-devops-docs/issues/2327

https://github.com/microsoft/azure-pipelines-yaml/issues/45

我假設${{..}}是通往 go 的路徑。您知道編譯時的configuration ,因此您可以在編譯時創建應用程序名稱。

variables:
  ${{ if eq(variables.configuration, 'Release') }}:
    applicationName: 'Appname'
  ${{ if ne(variables.configuration, 'Release') }}:
    applicationName: 'Appname-Test'
  - task: PublishBuildArtifacts@1        
    displayName: ${{ variables.applicationName }}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM