如何在Jenkins Job Builder中使用作业模板和项目



我试图了解如何工作模板和项目应该被使用。在阅读了文档后,我想到了这个:

- project:
name: project-name
jobs:
- 'alcatel-pipeline':
svnurl: "svn://sourcecontrol/java/testing/swright-pipeline-test/trunk"
- 'other-pipeline':
svnurl: "svn://sourcecontrol/java/testing/swright-pipeline-test/trunk"
- job-template:
name: '{name}'
project-type: pipeline
pipeline-scm:
scm:
- svn:
url: '{svnurl}'
clean: true
script-path: Jenkinsfile
lightweight-checkout: true

我的想法是,对于project.jobs中的每个项目,job-template将用变量替换呈现一个作业。但是我得到的是以下错误:

jenkins_jobs.errors.JenkinsJobsException: Failed to find suitable template named 'alcatel-pipeline'

文档似乎表明,我需要有一个作业模板在项目的每一个项目。但是我看不出这对我的用例有什么用处,我有大约150个管道作业,它们只是名称和SCM URL不同。

如何定义一个作业模板和数据来呈现多个作业配置?

好吧,这看起来有点复杂,但它是有效的,并且在文档中也是这样描述的。

- project:
name: pipeline
jobs:
- '{id}-{name}':
id: "alcatel"
svnurl: "svn://sourcecontrol/java/testing/swright-pipeline-test/trunk"
- '{id}-{name}':
id: "other"
svnurl: "svn://sourcecontrol/java/testing/swright-pipeline-test/branches/test"
- job-template:
name: '{id}-{name}'
project-type: pipeline
pipeline-scm:
scm:
- svn:
url: '{svnurl}'
clean: true
script-path: Jenkinsfile
lightweight-checkout: true

最新更新