Issues with multibranch pipeline job DSL

2019-09-03 15:09发布

问题:

I am having issues with multibranch pipeline for job DSL plugin to automate the creation of multibranch pipeline job.

The piece am having issues with is how to let set the path to the Jenkinsfile on the repo. I have looked online for documentation but found nothing to help. I have even tried to get example scripts but multibranch job DSL scripts are rare on the internet. Matter of fact could not find any that has Jenkinsfile set in it

jobs.groovy

folderName = "${JENKINS_PATH}"

folder(folderName)


multibranchPipelineJob("${folderName}/jenkins_multibranch_devops") {
    branchSources {
        git {
            remote("https://gitlab.com/${REPO_PATH}")
            credentialsId('gitlab_credentials')
            includes('*')
        }
    }
    configure { project ->
        project / factory {
            scriptPath('jenkins/Jenkinsfile')
        }
    }
    orphanedItemStrategy {
        discardOldItems {
            numToKeep(14)
        }
    }
} 

Here is what i have and its failing because i am obviously missing some stuffs which is why am looking for help

What am i missing and where can i get documentation if i plan on adding more and more to this jobs.groovy file and want to know how to know what stuffs to add because current doc page doesn't help at all

回答1:

You can set it using this:

multibranchPipelineJob("${folderName}/jenkins_multibranch_devops") {
  branchSources {
    git {
      remote("https://gitlab.com/${REPO_PATH}")
      credentialsId('gitlab_credentials')
      includes('*')
    }
  }
  factory {
    workflowBranchProjectFactory {
      scriptPath('jenkins/Jenkinsfile')
    }
  }
  orphanedItemStrategy {
    discardOldItems {
      numToKeep(14)
    }
  }
}

Documentation is available through the Job DSL API viewer in your jenkins installation: https://{your-jenkins}/plugin/job-dsl/api-viewer/index.html