jenkins ジョブ構成を管理する手段として、Jenkins Job-Builder (OpenStack から)を使用して調査しています。!include
そうすることで、カスタムタグ を使用して外部ファイルからジョブテンプレートを含める正しい (最善の) 方法を見つけようとしています。
現在のユース ケースでは、基本的に、多くのジョブで使用される 1 つのテンプレートがあります。ここでの範囲外の理由により、各ジョブは独自のファイルに存在する必要があります。
これまでのところ、これを機能させることができました:
ジョブテンプレート.yml
name: 'pre-build-{proj}-{repo}'
project-type: freestyle
... etc ...
ジョブ-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:
テンプレート定義が両方のファイルに分割され、すべてのジョブ ファイルで行を不必要に複製する必要があるため、これは間違っているように見えます。代わりに以下を機能させたいと思います。
ジョブテンプレート.yml
- job-template:
name: 'pre-build-{proj}-{repo}'
project-type: freestyle
... etc ...
ジョブ-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 で値のマッピングは許可されていません
テンプレート定義全体をテンプレート ファイルに入れる方法はありますか? 複数のファイルから複数のテンプレートを取得する必要がある場合、これは特に面倒です。