我们希望在继承执行构建工作的不可变 YAML 之前添加以下代码片段。
jobs:
- job: PreBuild
timeoutInMinutes: 120
pool:
name: 'poolname'
vmImage: 'windows'
steps:
- checkout: self
clean: true
persistCredentials: true
- task: ..........
......
- task: ..........
......
但是当我们在
extends
之前添加代码片段时,YAML会提示:Unexpected value 'extends'
extends:
template: template.yml@TemplateRepo
那么,基于不可变的构建模板,让我们在继承模板之前运行多个任务(其中模板作业始终首先执行)的最佳解决方案是什么? 或者,是否有任何其他方法可以让所有内容继承到模板内,但首先运行我们的自定义步骤?
参考此文档:模板使用参考
扩展了管道中允许的模板控制。当扩展模板控制管道中允许的内容时,该模板定义了另一个文件必须遵循的逻辑。
当您在 YAML 管道中使用扩展模板时,我们无法向 YAML 管道添加其他任务/作业。它支持在YAML根级别定义关键字。例如:触发器、变量。
基于不可变构建模板的最佳解决方案是什么,让我们在继承模板之前运行多个任务,其中模板作业始终首先执行?
为了满足您的需求,您可以更改为使用
- template
字段来使用YAML模板(包括模板)并同时定义作业。
例如:
模板是职位级别:
jobs:
- job: PreBuild
timeoutInMinutes: 120
pool:
name: 'poolname'
vmImage: 'windows'
steps:
- checkout: self
clean: true
persistCredentials: true
.....
- template: template.yml@TemplateRepo