【发布时间】:2014-11-27 03:00:29
【问题描述】:
我正在调查使用Jenkins Job-Builder(来自 OpenStack)作为我们管理 jenkins 作业配置的方法。在这样做时,我试图找出正确的(最好的?)方法来使用 !include 自定义标签从外部文件中包含作业模板。
在当前用例中,我们基本上将有一个模板供大量工作使用。由于超出此处范围的原因,每个作业都需要存在于自己的文件中。
到目前为止,我已经完成了这项工作:
job-template.yml
name: 'pre-build-{proj}-{repo}'
project-type: freestyle
... etc ...
job-1.yml
- job-template:
!include job-template.yml
- project:
name: job-1
proj: my-proj
repo: my-repo
jobs:
- 'build-config-{proj}-{repo}'
这似乎是错误的,因为模板定义会在两个文件中拆分,并且需要在每个作业文件中不必要地重复 -job-template: 行。我想让以下工作改为:
job-template.yml
- job-template:
name: 'pre-build-{proj}-{repo}'
project-type: freestyle
... etc ...
job-1.yml
!include job-template.yml
- project:
name: job-1
proj: my-proj
repo: my-repo
jobs:
- 'build-config-{proj}-{repo}'
不幸的是,后者导致- project: 行出现 yaml 解析错误:
yaml.scanner.ScannerError:此处不允许映射值 在“job-1.yml”中,第 3 行,第 10 列
有没有办法将整个模板定义放入模板文件中?如果我们需要从多个文件中提取多个模板,这将变得特别烦人。
【问题讨论】:
标签: jenkins jenkins-job-builder