Сценарий работы конвейера Дженкинса - PullRequest
0 голосов
/ 13 октября 2018

Я использую образ Docker: jenkins / jenkins: lts

У меня есть несколько скриптов groovy, которые копируются в каталог $JENKINS_HOME/init.groovy.d/ во время сборкиизображение докера.

Я хочу написать скрипт, который создаст новое задание конвейера, но я изо всех сил пытаюсь найти какую-либо информацию о том, как это сделать.Кажется, что все уроки посвящены тому, как использовать плагин конвейера после создания задания ...

Приведенный ниже скрипт является примером того, чего я добиваюсь, но это для проекта 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');

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

ОК, так что я был действительно тупым ... Конвейер раньше назывался Workflow, и он говорит вам, что в пользовательском интерфейсе

enter image description here

Так что же это для меня было:

#!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');
0 голосов
/ 13 октября 2018

Job DSL Plugin позволяет вам создавать сценарии создания рабочих мест с использованием groovy.Вы можете сохранить всю свою конфигурацию в VCS и указать Jenkins запустить сценарий Job DSL для генерации всех заданий.Создать конвейерное задание так же просто:

pipelineJob('example') {
    definition {
        cps {
            script(readFileFromWorkspace('project-a-workflow.groovy'))
            sandbox()
        }
    }
}

Этот пример взят из Job DSL API Viewer .

...