我有一个专门创建的模板存储库来包含所有模板文件。
例如:
(1)analysis_stage_template:
parameters:
- name: yesNo # name of the parameter; required
type: boolean # data type of the parameter; required
default: false
- name: firstValue # name of the parameter; required
type: number # data type of the parameter; required
default: 5
- name: secondValue # name of the parameter; required
type: number # data type of the parameter; required
default: 10
jobs:
job: FirstStageOfAnalysis
steps:
script: |
echo we are in the first stage of analysis
echo value of the parameter passed for the first stage is : ${{parameters.firstValue}}
job: SecondStageOfAnalysis
steps:
script: |
echo we are in the second stage of analysis
echo value of the parameter passed for the first stage is : ${{parameters.secondValue}}
(2)构建阶段模板:
parameters:
- name: firstValue # name of the parameter; required
type: number # data type of the parameter; required
default: 5
- name: secondValue # name of the parameter; required
type: number # data type of the parameter; required
default: 10
jobs:
job: FirstStageOfBuild
steps:
script: |
echo we are in the first stage of build
echo value of the parameter passed for the first stage is : ${{parameters.firstValue}}
job: SecondStageOfBuild
steps:
script: |
echo we are in the second stage of build
echo value of the parameter passed for the first stage is : ${{parameters.secondValue}}
我有一个主项目存储库,我想从其中调用这些模板并使用它们。管道文件如图所示:
trigger: none
resources:
repositories:
- repository: templates
name: Software Development/TemplateRepository
type: git
stages:
- stage: Analysis
jobs:
- template: analysis_stage_template.yml@templates
parameters:
firstValue : 1
secondValue : 2
- stage: Build
jobs:
- template: build_stage_template.yml@templates
parameters:
firstValue : 1
secondValue : 2
但是当我手动运行它时,我收到一条错误消息:
我在这里做错了什么?有什么建议么?
问题的原因是模板文件中的 YAML 格式存在问题。
这里有两点:
1.在YAML中定义作业时,需要遵循以下格式:
jobs:
- job: MyJob
steps:
- script: echo My first job
就您而言,您错过了-
之前job:
.
2.在YAML中定义任务时,需要添加-
任务名称之前。
例如:- script: echo My first job
请参阅以下 YAML 示例:
分析阶段模板
parameters:
- name: yesNo # name of the parameter; required
type: boolean # data type of the parameter; required
default: false
- name: firstValue # name of the parameter; required
type: number # data type of the parameter; required
default: 5
- name: secondValue # name of the parameter; required
type: number # data type of the parameter; required
default: 10
jobs:
- job: FirstStageOfAnalysis
steps:
- script: |
echo we are in the first stage of analysis
echo value of the parameter passed for the first stage is : ${{parameters.firstValue}}
- job: SecondStageOfAnalysis
steps:
- script: |
echo we are in the second stage of analysis
echo value of the parameter passed for the first stage is : ${{parameters.secondValue}}
构建阶段模板:
parameters:
- name: firstValue # name of the parameter; required
type: number # data type of the parameter; required
default: 5
- name: secondValue # name of the parameter; required
type: number # data type of the parameter; required
default: 10
jobs:
- job: FirstStageOfBuild
steps:
- script: |
echo we are in the first stage of build
echo value of the parameter passed for the first stage is : ${{parameters.firstValue}}
- job: SecondStageOfBuild
steps:
- script: |
echo we are in the second stage of build
echo value of the parameter passed for the first stage is : ${{parameters.secondValue}}
这是关于的文档YAML 架构 https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/jobs?view=azure-pipelines.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)