Azure devops 参数可以在一个YAML文件中定义并在另一个YAML文件中重用吗? TL;博士
在准备运行管道时,是否可以在模板YAML中包含参数及其值,并让主YAML读取列表并在下拉列表中显示它们 非常类似于“变量重用”的MS示例,如图所示 细节 我有一个大约50个值的列表,它们每周都在增长。 当Ops人员运行我的管道时,我希望他们从下拉列表中选择一个值 这可以通过在管道YAML文件(Azure devops 参数可以在一个YAML文件中定义并在另一个YAML文件中重用吗? TL;博士,azure-devops,azure-pipelines,azure-pipelines-yaml,Azure Devops,Azure Pipelines,Azure Pipelines Yaml,在准备运行管道时,是否可以在模板YAML中包含参数及其值,并让主YAML读取列表并在下拉列表中显示它们 非常类似于“变量重用”的MS示例,如图所示 细节 我有一个大约50个值的列表,它们每周都在增长。 当Ops人员运行我的管道时,我希望他们从下拉列表中选择一个值 这可以通过在管道YAML文件(azure pipeline.yml)中指定参数块来实现: 这为我提供了UI中的下拉列表: 在我上面的例子中,只有四个值,但是,我们有超过50个值(订阅)并且在增长。我正试图设计一种方法,使运营部不必编辑
azure pipeline.yml
)中指定参数块来实现:
这为我提供了UI中的下拉列表:
在我上面的例子中,只有四个值,但是,我们有超过50个值(订阅)并且在增长。我正试图设计一种方法,使运营部不必编辑管道2)保持主管道文件简洁
我知道目前没有办法动态填充值列表,但我正在考虑的是使用一个模板YAML文件,该文件只包含值,它将读取模板,填充下拉列表。然后,让脚本/管道动态更新模板文件中的值是一项相当简单的任务
阅读文档和一些博客,我相信这是可能的,但我没有设法破解它
看来参数块可以采用“任何YAML结构”,尽管我还没有找到合适的例子。除此之外,我也尝试过:
templates/subscriptions.yml
azure-pipelines.yml
我想知道我的问题是否是我需要在开始时正确读取参数,而这是不受支持的。它只适用于舞台/工作等
如果有人有任何想法,如果你能为我指出正确的方向,我将不胜感激
T.I.A.根据您的要求,我恐怕目前没有这样的方法能够满足您的要求 Azure Devops中的yaml模板需要由主yaml(例如Azure pipelines.yml)引用才能传递值 请参阅此文件: YAML中的参数字段无法调用YAML中的参数模板。因此,如果只定义纯参数,则不能在主yaml中调用它们 此方法仅受变量支持
但你的要求是有道理的。我建议你可以在年提交一份建议单。好吧,参数和变量是完全不同的东西,所以我认为不可能做到你所描述的。您可能可以手动解析vars yaml,但这也可能是一条死胡同。无论如何,50个变量听起来像是一个设计问题,我更愿意尝试提出新的模板和方案——但很难说没有看到实际的管道。嗨@woter324。这张票有更新吗?如果这个建议能给你一些帮助,请随时告诉我。只是想提醒一下。嗨@Kevin Lu MSFT我想出了一个不同的方法。使用与订阅名相同的文件夹,然后使用Git检测文件夹中的新文件夹或文件。Hi@woter324。很高兴知道你能找到方法。你可以在答案中分享它并接受答案。这将有助于其他用户。
# File: vars.yml
variables:
favoriteVeggie: 'brussels sprouts'
# File: azure-pipelines.yml
variables:
- template: vars.yml # Template reference
steps:
- script: echo My favorite vegetable is ${{ variables.favoriteVeggie }}.
parameters:
- name: subscription
displayName: Subscription Name
type: string
default: sub A
values:
- sub A
- sub B
- sub C
- sub D
- name: subscription
displayName: Subscription Name
type: string
default: sub A
values:
- sub A
- sub B
- sub C
- sub D``
...
template: templates/subscriptions.yml
parameters:
subscription: []
stages:
- stage: Example
displayName: 1.0 Demo Stage
jobs:
...