【问题标题】:Azure DevOps Build with Parameters带有参数的 Azure DevOps 构建
【发布时间】:2020-03-05 11:32:27
【问题描述】:

是否可以在 azure-pipelines.yml 中定义运行时参数的多值,因此在运行构建时必须输入值

parameters:
  - name: image
    displayName: Pool Image
    type: string
    default: ubuntu-latest
    values:
    - windows-latest
    - vs2017-win2016
    - ubuntu-latest

在 Azure DevOps 中单击“运行”后,您会看到一个下拉菜单,您可以选择所需的选项???

根据您的选择,构建将仅根据您的选择运行某些步骤或任务

【问题讨论】:

  • Hi Dropdown 参数在 azure devops 管道中尚不支持。您是否尝试过以下解决方法?

标签: azure-devops azure-pipelines


【解决方案1】:

我不确定它是什么时候添加的,但现在可以使用下拉参数:

parameters:
  - name: env
    displayName: Environment
    type: string
    values:
      - dev
      - prod
      - test
      - train
    default: train

将为我提供devprod 等的下拉列表,预填充值train

此外,如果 4 个或更多值,它将是一个下拉菜单,如果是 3 个或更少,它将是一个单选拨号。例如,

  - name: department
    displayName: Business Department
    type: string
    values:
      - AI
      - BI
      - Marketing
    default: AI

将创建一个默认选中 AI 的单选拨号。请注意,两者的 YAML 是相同的,除了第一个中的 4 个值和第二个中的 3 个值。

【讨论】:

  • 谢谢迈克。这很有帮助。
【解决方案2】:

azure devops 管道尚不支持下拉参数。

有一种解决方法,您可以创建一个包含所有可能值的变量,并启用可在排队时设置。详细步骤如下:

编辑您的 yaml 管道,点击右上角的 3dots 并选择 Triggers

转到变量选项卡,创建一个变量并检查可在排队时设置

然后,当您将管道排队时,您将被允许设置此变量的值。

设置上述步骤后。您还需要为您的任务添加条件。

对于下面的例子,脚本任务只有在环境变量等于 prod 并且前面的步骤都成功时才能运行。

steps:
  - script: echo "run this step when Environment is prod"
    condition: and(succeeded(), eq(variables['Environment'], 'prod'))

请在此处查看有关ConditionsExpressions 的更多信息

您也可以submit a feature request(点击建议一个功能并选择Azure devops)到Microsoft Develop,希望他们将来会考虑实现此功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多