web-dev-qa-db-fra.com

Jenkins JobDSL multibranchPipelineJob changer le chemin du script

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é

15
apr_1985

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.

14
nerdherd

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.

3
kgdesouz

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')
    }
  }
} 
0
daspilker