将Azure devops发布管道(经典编辑器)输出变量传递到同一阶段的多个作业或外部的多个阶段

问题描述 投票:0回答:1

我正在使用发布管道经典编辑器,并且要求将任务中生成的输出变量传递给同一阶段或外部阶段的多个作业。当前,此输出变量仅在同一作业内可用,我必须在多个作业和多个阶段中编写相同的任务,我觉得这是多余的。有什么办法可以实现?]

azure-devops devops azure-pipelines-release-pipeline azure-devops-rest-api
1个回答
0
投票

[在经典编辑器中,恐怕在其他作业中输出变量是不可行的。请参考此document

enter image description here

作为一种解决方法,您可以通过variable groups在各个作业和阶段中使用变量。

首先在变量组中定义变量,然后通过rest apiazure cli更新变量组,然后将定义的变量替换为任务生成的变量的值。

PUT https://dev.azure.com/{organization}/{project}/_apis/distributedtask/variablegroups/{groupId}?api-version=5.1-preview.1

这里是有关使用powershell脚本更新变量组的case。>>

另一个解决方法:您可以使用发布管道变量

在所有阶段共享值。解决方案是在设置变量的阶段更新Release Pipeline变量的Release Definition。
  • 在发布定义变量中定义变量。
  • 使用REST API Definitions - Update来更新释放代理作业中的定义变量。
  • 在下一个中使用发行版定义变量的更新值代理人职位。
  • 有关使用REST API更新发布定义变量的值的详细信息,您可以遵循此ticket

有关详细步骤和指南,请参阅此blog

© www.soinside.com 2019 - 2024. All rights reserved.