我想知道在Azure DevOps的构建管道"发布构件"任务中,是否可以有条件地设置我的构建成果物名称? 我希望根据输入到我的构建管道的不同变量,生产不同的成果物。例如,基于输入管道变量,我想要生成三种构建成果物(“红色”,“蓝色”,“绿色”)。是否可以根据输入变量在我的“发布构件”任务中指定正在生成的成果物,或者直接生成三个构建管道会更容易/更好?
- 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
设置为drop-$(CustomArtifactName)
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
ArtifactName: 'drop-$(CustomArtifactName)'
如果您在Linux上运行任务,这是bash版本。 NAME是一个自定义变量,其值使用预定义变量。
trigger_model_version=RELEASE_ARTIFACTS_${NAME^^}_BUILDNUMBER
export version=${!trigger_model_version}
echo Deploying ${NAME}:${version}