提问人:Sunflame 提问时间:11/16/2023 更新时间:11/16/2023 访问量:89
Azure 管道只读参数
Azure pipelines read only parameters
问:
我想通过将管道设置为只读来保护管道的参数。 我想要实现的是在 Azure 管道中有一个循环,但这不应该从外部更改,因此每次都保留阶段数。在当前实现中,当有人想要启动管道时,可以删除或修改参数,这可能会导致运行过程中的不一致。
一些相关代码:
parameters:
- name: stage
type: object
default:
- name: dev
- name: test
- name: prod
stages:
- template: azure_pipeline_template.yml
parameters:
stage: ${{ parameters.stage }}
为简单起见,我设置了三个参数 dev、test、prod,并且我希望它们始终运行,并且当您从 ADO 点击运行管道时,无法手动删除它们。
有没有办法保护参数或在 Azure 管道中使用“硬编码”值进行循环?
答:
2赞
wade zhou - MSFT
11/16/2023
#1
Parameter
用于根据下面的文档动态选择阶段,不支持将其设置为只读。
运行管道时可以对其进行编辑:It can be edited when you run the pipeline:
为简单起见,我设置了三个参数 dev、test、prod,并且我希望它们始终运行,并且当您从 ADO 点击运行管道时,无法手动删除它们。
您只需在 yaml 中逐个添加阶段,即可执行所有步骤。
stages:
- template: azure_pipeline_template.yml # Template reference
parameters:
stage: dev
- template: azure_pipeline_template.yml # Template reference
parameters:
stage: test
- template: azure_pipeline_template.yml # Template reference
parameters:
stage: prod
如果你想使用循环,你可以改用变量:
variables:
- name: stage
value: dev, test, prod
stages:
- ${{ each stage in split(variables.stage, ', ') }}:
- template: azure_pipeline_template.yml # Template reference
parameters:
stage: ${{ stage }}
azure_pipeline_template.yml:
parameters:
- name: 'stage' # defaults for any parameters that aren't specified
type: string
stages:
- stage: ${{ parameters.stage }}
jobs:
- job: Build
steps:
- script: echo ${{ parameters.stage }}
评论
0赞
wade zhou - MSFT
11/22/2023
@Sunflame,我可以知道是否有任何更新吗?如果您有任何疑问,请告诉我。谢谢。
评论