繁体   English   中英

如何将参数值从模板 yaml 文件传递到主管道

[英]How to pass parameters value from a template yaml file to main pipeline

当我尝试在 azure devops 上运行此管道时,出现错误“Unexpected property RunChangeLogic”。 我该如何解决这个问题?

它似乎不接受来自模板 EntryPoint.yaml 的参数。 还有什么我需要做的吗?
很抱歉这样简单的问题。 我对 Azure Devops 完全陌生

入口点.yaml:

parameters:

  - name: RunChangeLogic  
    displayName: Run change logic  
    type: boolean  
    default: false  
....

Azure_pipeline.yaml:

trigger: none  

pool:  
  vmImage: 'ubuntu-latest'  

stages:  
  - template: "YamlTemplates/Stage/Entrypoint.yaml"  
    parameters:  
       RunChangeLogic: 'true'   

我尝试了您的 yaml,它适用于以下 yaml。

在此处输入图像描述

入口点.yaml:

parameters:

  - name: RunChangeLogic  
    displayName: Run change logic  
    type: boolean  
    default: false  

steps:
- script: echo ${{ parameters.RunChangeLogic }}

Azure_pipeline.yaml:

trigger: none  

pool:  
  vmImage: 'ubuntu-latest'  

extends:
   template: "YamlTemplates/Stage/Entrypoint.yaml"  
   parameters:  
       RunChangeLogic: 'true'   

有关更多信息,请参阅官方文档模板类型和用法。


编辑:根据您的评论,我了解到您有一个多阶段 azure 管道。 请参考这个stages.template 定义

您可以在一个文件中定义一组阶段,并在其他文件中多次使用它。

这是我的阶段模板测试 yaml 文件。

入口点.yaml:

parameters:

  - name: RunChangeLogic  
    displayName: Run change logic  
    type: boolean  
    default: false  

stages:
- stage: Teststage1
  jobs:
  - job: ${{ parameters.RunChangeLogic }}_testjob1
    steps:
    - script: echo ${{ parameters.RunChangeLogic }}
- stage: Teststage2
  jobs:
  - job: ${{ parameters.RunChangeLogic }}_testjob2
    steps:
    - script: echo ${{ parameters.RunChangeLogic }}

Azure_pipeline.yaml:

trigger: none  

pool:  
  vmImage: 'ubuntu-latest'  

stages:
- template: "YamlTemplates/Stage/Entrypoint.yaml"  
  parameters: 
    RunChangeLogic: 'true'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM