【问题标题】:Can I programmatically set an overridable default value for a variable in an Azure DevOps Release Pipeline?能否以编程方式为 Azure DevOps 发布管道中的变量设置可覆盖的默认值?
【发布时间】:2020-05-05 01:15:30
【问题描述】:

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

因此,最终用户的行为将是他们 (1) 导航到版本并 (2) 单击“新建”。对话框出现some_var 变量已设置为存储在文本文件中的值。但是,由于变量设置为在运行时可设置,所以他们也可以在点击按钮创建发布之前修改变量值。

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

【问题讨论】:

    标签: azure-devops azure-pipelines azure-pipelines-release-pipeline azure-pipelines-release-task


    【解决方案1】:

    对话框出现 some_var 变量已经设置为一个值 存储在文本文件中。

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

    可能的解决方法:

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

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

    您可以考虑在发布依赖的构建管道末尾添加一个powershell任务,在ps脚本中调用Definitions-Updaterest api,根据构建管道的内容设置发布管道中some_var的默认值。类似问题可以查看this one

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

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

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

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

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

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 2021-07-21
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-23
      相关资源
      最近更新 更多