azure-devops - 如何在发布管道中使用来自构建管道的自定义变量
问题描述
问题: 有什么方法可以在 azure-devops 的构建管道中定义自定义变量,然后可以以任何方式在发布管道中使用/公开该变量?
场景: 我们没有使用变量组,因为我们需要在构建管道中动态设置变量,然后在发布管道中使用它——它不是静态的超级全局。
检查了发布变量和 构建变量的文档,但找不到任何帮助信息或提示,这是可能的。
我试过的
- 定义一个
variable
invariables
(在构建管道中)并尝试使用$(name)
或检查它是否在发布管道中访问它env
。
Extras - Motivation 这背后的动机是
- 读取构建管道步骤中使用的最新 git-tag 并将其公开到管道变量中
VERSION
(实际上,我们在此期间碰撞补丁) - 发布构建是一个手动步骤。
- 如果发布了一个构建,azure-devops gui 会向我们显示发布管道的所有变量,这些变量是“在发布期间可设置的——这包括我们想要发布这个包的版本
- 我们希望这个“VERSION”预填充构建管道的版本,作为下一个版本的建议
- 在发布管道中,我们签出 repo,添加
VERSION
标签并使用此版本打包/发布工件
解决方案
默认情况下这是不可能的,但您可以使用市场上的 2 个扩展:
1)共享变量更新器- 创建一个变量组,并在构建期间通过此任务动态更新变量。你也可以用你的脚本来做,在这里查看答案。
2) Azure DevOps Services 的变量工具包- 在构建期间,将变量保存到与构建资产一起存储的 json 文件中。在发布期间,加载保存的变量并在发布定义中使用它们。
推荐阅读
- sql - 如何使用sql递归编写公式
- python - 如何有效地从 mysql 写入和读取 numric (float, numpy) 数组?
- android - 固定区域内的多个位图
- types - 如何制作表示数字子集的数据结构?
- javascript - 如何在不调用 Chrome 的 CORS 预检请求的情况下指定 `application/json` Content-Type?
- vb.net - 将数据绑定到 mschart,因此我可以返回非数据点值
- protractor - 量角器 - 未找到日志类型“性能”错误
- angular - 如何知道图像何时以角度完全加载?
- fullscreen - Android Management API - Kiosk 模式下的单个应用程序 - 如何隐藏状态和导航栏?
- airflow - Apache Airflow如何循环处理多个文件