gpt4 book ai didi

azure - azure 管道中定义的参数的继承

转载 作者:行者123 更新时间:2023-12-03 05:26:14 25 4
gpt4 key购买 nike

我有多个 azure 管道,它们具有类似的 azure YAML 文件。这些 YAML 文件中定义的参数是重复的。如果我在通用 YAML 文件中定义这些参数,它可以继承吗?

##saving-account.yml 
name: savings
parameters:
 -name:run_mode  type:string  default:custom -name:app_version  type:string  default:uat

阶段:

-stage:RunScript jobs:  -job: script   steps: script     -script: /mylocation/savings.sh -r ${{parameters.run_mode }} -a ${{ parameters.app_version}}

这是储蓄账户管道。同样,我有贷款/抵押账户
##loans-account.yml 
name: savings
parameters:
 -name:run_mode  type:string  default:custom -name:app_version  type:string  default:uat
阶段:-阶段:运行脚本 工作: -工作:脚本 步骤:脚本 -脚本:/mylocation/loans.sh -r ${{parameters.run_mode }} -a ${{parameters.app_version}} 对于其他脚本也是如此。因此,如果我们看到这两个示例,参数保持不变,并且作业->步骤->脚本文件发生变化。我可以从各个文件中提取参数并将它们放入一个公共(public)文件中,然后以某种方式在其他文件中扩展该文件吗?我看过这个例子,
https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops
它讨论了将进程继承为模板,但我找不到使用通用参数的示例。我不想使用变量,因为我不确定它们在从 azure-pipelines UI 外部执行时是否可以更改。

最佳答案

替代选项是在作业下使用变量 yaml 模板。该模板可以在管道之间引用相同的文件以减少冗余。将 ${{parameters.}} 切换为 ${{variables.}} 甚至可以根据参数切换变量组(在本例环境中)。

看起来像:

 jobs:
-job: script
variables:
- template: ../variables/${{ parameters.environmentName }}.yml
steps: script
- script: /mylocation/loans.sh -r ${{variables.run_mode }} -a ${{ variables.app_version}}

variable.yml 文件可能如下所示:

variables:
-name:run_mode
type:string
value:custom
-name:app_version
type:string
value:uat

并不完全符合您的要求,但可以替代多次定义相同的值。

这个变量文件可以是centrally located in another repo to .

关于azure - azure 管道中定义的参数的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68559401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com