yaml 模板中的意外值 "steps"

Unexpected value "steps" in yaml template

我不明白如何将像这样的层次结构的文件转移到模板中,因为我只是遇到错误:

Pipeline
  Stage A
    Job 1
      Step 1.1

考虑这个 yml 文件:

trigger:
  - master

stages:
  - stage: build
    displayName: "Run Build"
    jobs:
      - template: someTemplate.yml

我的模板看起来有点像(也尝试将工作作为第一个层次结构):

pool:
  name: "Azure Pipelines"
  vmImage: "windows-2019"

steps:
  - task: myTask
    inputs: ...

我相信我遵循了正确的结构,但我不明白层次结构如何遵循模板。

我得到:

/generate-release-notes.yml (Line: 3, Col: 1): Unexpected value 'pool'
/generate-release-notes.yml (Line: 7, Col: 1): Unexpected value 'steps'

您正在尝试将 steps 模板用作 job 模板。

jobs:
  - template: someTemplate.yml

期望 someTemplate.yml 包含一个 jobs: 块,其中包含一个作业或一系列作业。你正在给它步骤。

在您的 YAML 模板示例中,您正在定义步骤模板。

在这种情况下,您无法在模板中定义池,因为无法在yaml的步骤级别定义池。

另一方面,既然你定义了steps yaml模板,你也需要在main yaml的step level中引用这个模板。

要解决您的问题,您需要修改模板 YAML 以定义作业级别 YAML 模板。

这是一个例子:

someTemplate.yml

jobs:
  - job: NameA
    pool:
     name: "Azure Pipelines"
     vmImage: "windows-2019"
    steps:
      - script: echo 1

蔚蓝-pipelines.yml

trigger:
  - master


stages:
  - stage: build
    displayName: "Run Build"
    jobs:
      - template: someTemplate.yml