【问题标题】:How can I prompt for variables when launching Azure DevOps pipelines?启动 Azure DevOps 管道时如何提示输入变量?
【发布时间】:2021-05-19 13:01:34
【问题描述】:

我正在尝试让 Azure DevOps 管道在手动启动管道(使用新的 YAML 语法定义)时提示输入版本号。

即使我在模板中定义变量,启动屏幕也会显示“此管道没有定义的变量”。如何定义变量以便它们显示在管道启动中?

当前 YAML 定义包含:

variables:
  - name: versionName
    value: ''

这些在启动管道时不会显示:

【问题讨论】:

    标签: azure-devops azure-devops-pipelines


    【解决方案1】:

    虽然Shayki's answer 对定义变量是正确的,但我真正想要的是runtime parameters

    使用以下 YAML 定义:

    parameters:
      - name: myParameter
        displayName: Description of myParameter
        default: defaultMyParameter
        type: string
    

    启动管道时提示输入参数值:

    必须在模板中使用${{ parameters.myParameter }}引用参数,其他变量语法不起作用。

    【讨论】:

      【解决方案2】:

      来自docs

      如果 variable 出现在 YAML 文件的变量块中,它的 值是固定的,不能在排队时被覆盖。最佳做法是 在 YAML 文件中定义您的变量,但有时这 没有意义。例如,您可能想要定义一个秘密 变量,并且没有在您的 YAML 中公开该变量。或者,您可以 在流水线运行过程中需要手动设置变量值。

      您有两种选择来定义队列时间值。你可以定义一个 用户界面中的变量并选择让用户覆盖此选项 运行此管道时的值,或者您可以使用runtime parameters 反而。如果您的变量不是秘密,则最佳做法是使用 运行时参数。

      要在排队时设置变量,请在您的 管道并选择覆盖选项。

      要允许在排队时设置变量,请确保变量 也不会出现在管道或作业的 variables 块中。如果 您在 YAML 的变量块和 UI,YAML 中的值优先。

      【讨论】:

        猜你喜欢
        • 2020-02-24
        • 2019-12-17
        • 2019-04-29
        • 1970-01-01
        • 2020-06-14
        • 2021-11-23
        • 2021-11-23
        • 2021-11-23
        • 1970-01-01
        相关资源
        最近更新 更多