J'essaie de créer un multibranchPipelineJob dans jobDSL, mais le Jenkinsfile est à un emplacement alternatif à celui par défaut. J'ai parcouru les documents https://jenkinsci.github.io/job-dsl-plugin/#path/multibranchPipelineJob et je ne vois pas de moyen de le faire. En regardant le config.xml pour un multibranchPipelineJob créé manuellement, le scriptPath est dans la section, mais je ne trouve pas de méthode DSL pour définir cela.
Quelqu'un peut-il offrir de l'aide sur la façon de procéder? À votre santé
Job DSL expose désormais un moyen de le faire:
multibranchPipelineJob('my-build') {
factory {
workflowBranchProjectFactory {
scriptPath('path-to-Jenkinsfile')
}
}
}
Confirmé de travailler avec Job DSL 1.69, et est disponible depuis 1.67 selon les notes de version.
Après pas mal de recherches sur Google, j'ai trouvé quelque chose qui fonctionne:
configure {
it / factory(class: 'org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory') {
owner(class: 'org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject', reference: '../..')
scriptPath("jenkins/[where ever you want]/Jenkinsfile")
}
}
Cela semble fonctionner pour moi.
Le paramètre est un peu masqué, mais le DSL généré automatiquement prend en charge la définition du chemin de script pour un travail multibranch:
multibranchPipelineJob('example') {
factory {
workflowMultiBranchProjectFactory {
scriptPath('my-location/Jenkinsfile')
}
}
}