我正在使用Docker映像: jenkins / jenkins:lts
我有很多groovy脚本,它们在构建docker映像期间被复制到$JENKINS_HOME/init.groovy.d/
目录中。
我想编写一个脚本来创建新的Pipeline作业,但是我一直在寻找有关如何执行此操作的任何信息。创建作业后,所有教程似乎都是关于如何使用管道插件的。
以下脚本是我所追求的示例,但这是针对Freestyle项目而不是管道的内容:
#!groovy
import jenkins.model.Jenkins;
import hudson.model.FreeStyleProject;
import hudson.tasks.Shell;
import hudson.triggers.SCMTrigger;
def jenkins = Jenkins.getInstance();
def initJob = jenkins.createProject(FreeStyleProject, 'init-job');
initJob.setDescription('This is a dummy project');
答案 0 :(得分:3)
好,所以我真的很笨...管道以前称为Workflow,它在UI中告诉您
所以对我来说是:
#!groovy
import jenkins.model.Jenkins;
import hudson.model.WorkflowJob;
import hudson.tasks.Shell;
import hudson.triggers.SCMTrigger;
def jenkins = Jenkins.getInstance();
def initJob = jenkins.createProject(WorkflowJob, 'init-job');
initJob.setDescription('This is a dummy project');
答案 1 :(得分:1)
Job DSL插件让您使用groovy脚本创建作业。您可以将所有配置保留在VCS中,并告诉Jenkins运行Job DSL脚本以生成所有作业。创建管道作业很简单:
pipelineJob('example') {
definition {
cps {
script(readFileFromWorkspace('project-a-workflow.groovy'))
sandbox()
}
}
}
此示例摘自Job DSL API Viewer。