我想知道是否可以在 Azure DevOps 构建管道“发布工件”任务中有条件地设置构建工件的名称?我想根据构建管道的输入生成不同的工件。比如说,根据输入管道变量,我想生成三个工件之一(“红色”、“蓝色”、“绿色”)。是否可以根据输入变量指定在我的“发布工件”任务中生成的工件,或者仅生成三个构建管道是否更容易/更好?
是否可以在我的 Azure DevOps 构建管道“发布工件”任务中有条件地设置工件名称?
恐怕没有这样的现成方法可以做到这一点。如果要有条件地设置工件名称,我们必须使用管道中的嵌套变量。
然而此时此刻的价值嵌套变量 (like $(CustomArtifactName_$(Build.SourceBranchName)))
构建管道尚不支持.
作为解决方法,你可以添加一个Run Inline Powershell
任务根据输入管道变量设置变量。
在我这边,我使用Build_SourceBranchName
作为输入管道变量。然后我在中添加以下脚本内联Powershell task:
- task: InlinePowershell@1
displayName: 'Inline Powershell'
inputs:
Script:
$branch = $Env:Build_SourceBranchName
if ($branch -eq "TestA5")
{
Write-Host "##vso[task.setvariable variable=CustomArtifactName]Red"
}
else
{
Write-Host "##vso[task.setvariable variable=CustomArtifactName]Blue"
}
然后在发布构建工件任务,我设置了ArtifactName
with drop-$(CustomArtifactName)
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
ArtifactName: 'drop-$(CustomArtifactName)'
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)