2

我试图在我的 Azure Devops 构建管道构建的工件名称中包含 7 位 git 哈希。在我的构建代理作业中,我有一个内联 powershell 脚本,其中包含以下几行:

$commitId = "$(Build.SourceVersion)"
$shortCommitId = ("$commitId").SubString(0,7)

在“输出变量”下的 Powershell 脚本选项中,我添加了一个参考名称:ps.

然后在我的 Powershell 步骤之后的 Publish Artifact 步骤中,我将工件名称设置为:

$(ApplicationName)_Rel_$(ps.shortCommitId)_$(build.buildnumber)

流水线运行完成后的实际结果是:

MyApplication_Rel_$(ps.shortCommitId)_20190918.1

如何在步骤之间传递变量 shortCommitId 以使其成为工件名称的一部分?MyApplication_Rel_04f53f_20190918.18.

4

1 回答 1

3

只需在接下来的步骤中添加另一行创建变量:

Write-Host "##vso[task.setvariable variable=shortCommitId;]$shortCommitId"

在 Publish Artifacts 任务中使用变量$(shortCommitId)

$(ApplicationName)_Rel_$(shortCommitId)_$(build.buildnumber)

如果要将其用作输出变量,另一种选择是添加isOutput=true

Write-Host "##vso[task.setvariable variable=shortCommitId;isOutput=true]$shortCommitId"

现在您可以使用$(ps.shortCommitId).

于 2019-09-18T08:49:09.687 回答