gpt4 book ai didi

azure-devops - 在 Azure devops 中跨存储库共享模板

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

我有一个专门为包含所有模板文件而创建的模板存储库。例如:(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)build_stage_template:

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

但是当我手动运行它时,我收到一条错误消息:

Error message

我在这里做错了什么?有什么建议吗?

最佳答案

问题的原因是YAML格式在模板文件中有问题。

这里有两点:

1.在YAML中定义作业时,需要遵循以下格式:

jobs:
- job: MyJob
steps:
- script: echo My first job

在您的情况下,您错过了 job: 之前的 -

2.在YAML中定义任务时,需要在任务名前添加-

例如:- script: echo My first job

请引用以下 YAML 示例:

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}}

build_stage_template:

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 Schema 的文档.

关于azure-devops - 在 Azure devops 中跨存储库共享模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74151919/

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