我能否以编程方式为 Azure DevOps 发布管道中的变量设置可覆盖的默认值?

Can I programmatically set an overridable default value for a variable in an Azure DevOps Release Pipeline?

我在 Azure DevOps 发布管道中有一个名为 some_var 的变量。我想在发布时设置默认值。但我想根据工件放置文件夹中文件的内容以编程方式设置它。但我仍然希望用户能够在创建版本时覆盖动态设置的值。

因此,最终用户的行为是他们 (1) 导航到版本,然后 (2) 单击 "Create New"。该对话框显示 some_var 变量已设置为存储在文本文件中的值。但是,因为变量设置为在运行时可设置,他们还可以在单​​击按钮创建发布之前修改变量值。

有什么方法可以动态填充(在创建发布之前)some_var 值,并且仍然可以让创建发布的人在 crate-time 编辑它。

The dialog comes up with the some_var variable already set to a value stored in a text file.

我们不支持这种开箱即用的功能。发布管道变量不能动态 在创建版本之前填充 some_var 值。

可能的解决方法:

你原来的目的是set it programmatically based on the contents of a file in the artifact drop folder。所以我假设你可能有一个构建管道,这个版本依赖于它,你的实际需要是:

构建管道完成后,发布管道中 some_var 默认值 值应设置为构建管道中的值。

可以考虑在release依赖的build pipeline末尾添加powershell任务,调用Definitions-Update rest api in ps script to set the default value of some_var in Release pipeline depending on content of Build pipeline. Similar issue you can check .

并且如果管道变量 some_var 在发布时是可设置的:

整个行为将是(假设我们想将 Build 中的 buildID 传递给 Release 中的 some_var):

1.The 构建管道执行良好,其最后一个 Powershell 任务将 some_var 更新为 some_var = 15

2.When 我单击 Create release 按钮,对话框显示 some_var 变量已设置为来自构建管道 15 的值。

3.Now,因为some_var在发布时可以设置,我们可以在点击Create按钮之前轻松修改它。

希望对您有所帮助:)