从构建中自动设置Release.ReleaseDescription。 (Azure devops管道)

时间:2019-11-22 16:05:48

标签: azure-devops

下午好,我需要这种情况的帮助,我想在管道构建中生成发行说明,我试图在构建中设置变量,并且使用了组变量,但是我没有成功,想法是生成一个包含对包含内容的描述的生成,并且在生成新版本时已经具有变量Release.ReleaseDescription中的值,我有一个悠闲的任务来发送批准,最好有这个描述,以便批准的人看看其中包含什么。当前,在生成发行版并放置说明时,将执行此手动过程。

1 个答案:

答案 0 :(得分:0)

变量组只能从构建管道到发布管道共享具有静态值的变量。但是,有一个扩展任务工具 Variable Tools for Azure DevOps Services 可以完成此任务。您可以按照以下步骤操作:

1,您首先需要搜索 Azure DevOps服务的可变工具,并将其安装到您的组织中。 此任务包括两个子任务,它们是任务的描述:。

变量保存任务-在构建期间,您可以将变量保存到与其他构建资产一起存储的json文件中

变量加载任务-在发布期间,您可以加载保存的变量并获得对它们的访问权限。

2,然后您需要在构建管道中定义一个变量(BuildDescription) enter image description here

3,添加一个powershell任务,为变量BuildDescription分配一个值。

enter image description here

4,添加“变量保存任务”以将变量BuildDescription保存到json文件中,并将其存储到构建工件文件夹中,该文件夹将作为aritfacts的一部分发布到azure devops服务器中。

enter image description here

5,在发布管道中,添加任务“变量加载任务”,然后可以在发布管道中使用变量(BuildDescription)。 enter image description here

更新: 如上所述,任务无法在linux系统上运行。我们可以编写bash脚本来执行变量保存任务和变量加载任务。

要保存变量,只需将上面的变量保存任务替换为bash任务即可在下面的命令中运行。

echo '{"des":"description"}' > variable-meta.json 

加载变量。添加bash任务以替换可变加载任务

val= ($(jq '.description' variable-meta.json))

echo "##vso[task.setvariable variable=BuildDescription]$val"