Job Generator Plugin 插件

官方定义:

This plugin adds a new job type "Job Generator" which can generate new projects when executed.

理解:就是用来生成 job 的 job,该 job 是一个模版,根据填入的参数生成不同的 job。
使用情景:需要创建很多 job,而且这些 job 只是某些地方配置不同。例如 Android 出包的 job,只是 git 地址/产品名称不同,其他出包 job 的配置都一样,则可以把 git 地址及产品名称参数化填入,使用生成 job 生成不同产品的出包 job

安装方法

直接进入插件管理中心搜索 Job Generator Plugin 安装即可。

使用

1、创建 job 的时候,选择 Job Generator
2、其他所有的配置,当你生成的 job 需要什么配置的时候,则在此 job 增加什么 job。可以当成此时这个 job 就是你要生成的 job 配置即可
3、执行 shell,被生成的 job 需要执行什么样的 shell 脚本,则这里填写什么。

### 下面开始说明特殊的部分
4、参数化构建过程

A、Generator Parameter:
是在生成 job 时候用的参数,如上面 #3 说的执行 shell 模版中什么时候变化的,则把什么参数化。例如,定义一个变量是 gitlab,在 #3shell 中取该变量的值 ${gitlab}。在生成工程的时候填入 gitlab 的地址,那么生成的 job#3shell 中的 gitlab 地址则是该 job 对应需要的地址。

B、Generator Choice
同 #4A,如果参数化是可选的参数,则选择这个参数。

5、Generated Job Additional Configuration

A、Generated Job Name/Generated Job Display Name
被生成 job 的名字,可以参数化。例如:在参数化构建的时候,有个 Generator Parameter 叫 appname,则被生成 job 的名字可以取值为:BuildTestApk_${appname}

相同插件介绍:Job DSL Plugin

Job DSL Plugin
对于很多开发者来说,不同的仓库和项目分支都需要去 Jenkins 上重新创建任务。这是一个重复且单调的工作,对于开发者来说非常不友好。

Jenkins Job DSL Plugin 可以让开发者通过 Groovy 脚本来定义和配置任务,随后插件会通过执行这些脚本来维护 Jenkins 任务。这样开发团队可以定制自己的模板文件,通过领域特定语言(Domain Specific Language,DSL)直接定义和创建任务。

Job Generator Plugin
和 Job DSL Plugin 类似,Job Generator Plugin 也是用于快速创建任务。对于大团队来说,整个持续集成流程应该类似,不同的项目的区别主要就是代码分支等。该插件可以让团队的配置管理员为整个团队定义一个参数化的模板,项目开发人员可以通过这个模板快速的在 Jenkins 上创建出任务。

该插件和 Job DSL 插件的最大区别是使用者无需了解 Groovy。

#### 参考文档
1、官方文档:
https://wiki.jenkins.io/display/JENKINS/Job+Generator+Plugin
https://wiki.jenkins.io/display/JENKINS/Job+DSL+Plugin
2、十佳插件介绍:https://infoq.cn/article/2018/07/devops-10best-jenkins-plugins


↙↙↙阅读原文可查看相关链接,并与作者交流