Credo che questa domanda sta chiedendo qualcosa come utilizzare il DSL lavoro per creare un processo di gasdotto che fa riferimento al Jenkinsfile per il progetto, e non si combina la creazione di posti di lavoro con il dettaglio definizioni di passo come è stato dato nelle risposte fino ad oggi. Questo ha senso: la creazione del lavoro di Jenkins e la configurazione dei metadati (descrizione, trigger, ecc.) Potrebbero appartenere agli amministratori di Jenkins, ma il team di sviluppo dovrebbe avere il controllo su ciò che effettivamente fa il lavoro.
@meallhour, è il seguente cosa stai cercando? (Funziona come in Giobbe 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' << '' })
}
}
}
}
Rif il DSL lavoro pipelineJob: https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob, e mettere mano a su http://job-dsl.herokuapp.com/ per vedere la configurazione generata.
Questo esempio ha funzionato per me. Ecco un altro esempio in base a ciò che ha funzionato per me:
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
}
}
}
}
Se costruire il gasdotto prima attraverso l'interfaccia utente, è possibile utilizzare il file config.xml e la documentazione Jenkins https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob per creare il vostro lavoro pipeline.
fonte
2017-08-29 02:56:57