Azure Devops发布管道-用于获取源(构建管道)值的变量?

时间:2019-07-10 10:13:30

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline azure-artifacts

我正在寻找一种从构建工件屏幕中提取“发行版”中“源(构建管道)”值的名称的方法。

attached screenshot中,“源(构建管道)”值(红色圆圈中)为“ Subscriber-Build”,而源别名始终带有_下划线字符,例如“ _SubscriberBuild”

我尝试了以下变量和变体:

# First example, integer selector ==> Ok
t = torch.tensor([[0, 1], [1, 0]])
t[0, 0].add_(10)
print(t)
tensor([[10,  1],
        [ 1,  0]])

# Second example, list selector ==> ???
t = torch.tensor([[0, 1], [1, 0]])
t[[0], [0]].add_(10) # notice the list selector
print(t)
tensor([[0, 1],
        [1, 0]])

#Third example, list selector with inplace add operator ==> Ok
t = torch.tensor([[0, 1], [1, 0]])
t[[0], [0]] += 10
print(t)
tensor([[10,  1],
        [ 1,  0]])

如建议的here,但没有成功。

这真的可能吗?

2 个答案:

答案 0 :(得分:1)

对于主要工件,您可以按照文档建议使用$(Build.DefinitionName)来检索其构建定义名称

答案 1 :(得分:1)

4c74356b41 的答案是正确的,如果这是您的主要工件,则只能使用Build.DefinitionName

但是,如果您想使用文档中提到的变量,则可以通过这种方式(在PowerShell中)获取值:

$primaryAlias = $env:Release_PrimaryArtifactSourceAlias

$definitionVariable = "Release_Artifact_$($primaryAlias)_DefinitionName"

# Get the value of the environment variable Release.Artifact.{alias}.DefnitionName:

$primaryDefnitionName = (Get-Item env:$defnitionVariable).Value

通过上述方法,您可以使构建定义名称完全不是您的主要工件,只需更改第一行即可,例如:triggerAlias = $env:Release_TriggeringArtifacts_Alias用于触发的工件。