首页 > 解决方案 > 如何在发布管道中使用来自构建管道的自定义变量

问题描述

问题: 有什么方法可以在 azure-devops 的构建管道中定义自定义变量,然后可以以任何方式在发布管道中使用/公开该变量?

场景: 我们没有使用变量组,因为我们需要在构建管道中动态设置变量,然后在发布管道中使用它——它不是静态的超级全局。

检查了发布变量构建变量的文档,但找不到任何帮助信息或提示,这是可能的。

我试过的

  1. 定义一个variablein variables(在构建管道中)并尝试使用$(name)或检查它是否在发布管道中访问它env

Extras - Motivation 这背后的动机是

  1. 读取构建管道步骤中使用的最新 git-tag 并将其公开到管道变量中VERSION(实际上,我们在此期间碰撞补丁)
  2. 发布构建是一个手动步骤。
  3. 如果发布了一个构建,azure-devops gui 会向我们显示发布管道的所有变量,这些变量是“在发布期间可设置的——这包括我们想要发布这个包的版本
  4. 我们希望这个“VERSION”预填充构建管道的版本,作为下一个版本的建议
  5. 在发布管道中,我们签出 repo,添加VERSION标签并使用此版本打包/发布工件

标签: azure-devopsazure-pipelines

解决方案


默认情况下这是不可能的,但您可以使用市场上的 2 个扩展:

1)共享变量更新器- 创建一个变量组,并在构建期间通过此任务动态更新变量。你也可以用你的脚本来做,在这里查看答案。

2) Azure DevOps Services 的变量工具包- 在构建期间,将变量保存到与构建资产一起存储的 json 文件中。在发布期间,加载保存的变量并在发布定义中使用它们。


推荐阅读