Я считаю, что этот вопрос с просьбой что-то, как использовать DSL работы, чтобы создать работу трубопровода, который ссылается на Jenkinsfile для проекта, и не сочетать создание рабочих мест с подробного как было дано в ответах на сегодняшний день. Это имеет смысл: создание Jenkins и создание метаданных (описание, триггеры и т. Д.) Могут принадлежать администраторам Jenkins, но команда разработчиков должна иметь контроль над тем, что на самом деле делает работа.
@meallhour, это ниже, что вы после? (Работает как на работе DSL 1.64)
pipelineJob('DSL_Pipeline') {
def repo = 'https://github.com/path/to/your/repo.git'
triggers {
scm('H/5 * * * *')
}
description("Pipeline for $repo")
definition {
cpsScm {
scm {
git {
remote { url(repo) }
branches('master', '**/feature*')
scriptPath('misc/Jenkinsfile.v2')
extensions { } // required as otherwise it may try to tag the repo, which you may not want
}
// the single line below also works, but it
// only covers the 'master' branch and may not give you
// enough control.
// git(repo, 'master', { node -> node/'extensions' << '' })
}
}
}
}
Ссылка РАБОЧЕГО МЕСТО DSL pipelineJob: https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob и поредактируют у него на http://job-dsl.herokuapp.com/, чтобы увидеть сгенерированный конфиг.
Этот пример работал на меня. Вот еще один пример, основанный на том, что работает для меня:
pipelineJob('Your App Pipeline') {
def repo = 'https://github.com/user/yourApp.git'
def sshRepo = '[email protected]:user/yourApp.git'
description("Your App Pipeline")
keepDependencies(false)
properties{
githubProjectUrl (repo)
rebuild {
autoRebuild(false)
}
}
definition {
cpsScm {
scm {
git {
remote { url(sshRepo) }
branches('master')
scriptPath('Jenkinsfile')
extensions { } // required as otherwise it may try to tag the repo, which you may not want
}
}
}
}
Если построить трубопровод первый через пользовательский интерфейс, вы можете использовать файл config.xml и документацию Jenkins https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob создать работу трубопровода.