对于自动化,我想使用管道作业初始化Jenkins 2.0实例。我想创建一个Groovy脚本,/usr/share/jenkins/ref/init.groovy.d/在启动时将其复制到该文件夹中。该脚本应创建一个Jenkins 2.0 Pipeline作业,以处理来自SCM的Jenkinsfile。
/usr/share/jenkins/ref/init.groovy.d/
我找不到与2.0管道类相关的Javadoc或如何执行此操作的示例。
以前,使用Job DSL创建管道,我使用Groovy脚本FreeStyleProject通过ExecuteDslScripts构建器创建。该工作将成为Job DSL种子工作。
FreeStyleProject
ExecuteDslScripts
一种选择是使用初始化脚本来创建Job DSL种子作业,以创建Jenkins 2.0管道。这似乎不必要地复杂。
我正在这个仓库中进行实验:https : //github.com/martinmosegaard/vigilant- sniffle
如果只需要创建一个简单的管道作业,则可以使用Jenkins API。但这实际上仅在创建一个简单作业时才有效,对于复杂的设置,您需要一些抽象,例如Job DSL。
例:
import jenkins.model.Jenkins import org.jenkinsci.plugins.workflow.job.WorkflowJob WorkflowJob job = Jenkins.instance.createProject(WorkflowJob, 'my-pipeline')
然后,您需要填充作业,例如,设置流程定义。
或者,您可以等待系统配置DSL插件准备就绪。但是它还没有发布,我不确定它是否可以创造就业机会。