web-dev-qa-db-ja.com

Jenkins JobDSL multibranchPipelineJobスクリプトパスの変更

私はjobDSLでmultibranchPipelineJobを作成しようとしていますが、Jenkinsfileはデフォルトとは別の場所にあります。私はドキュメントを調べました https://jenkinsci.github.io/job-dsl-plugin/#path/multibranchPipelineJob これを行う方法がわかりません。手動で作成したmultibranchPipelineJobのconfig.xmlを見ると、scriptPathがセクションにありますが、これを設定するDSLメソッドが見つかりません。

誰でもこれを行う方法について何か助けを提供できますか?乾杯

15
apr_1985

Job DSLはこれを行う方法を公開します:

multibranchPipelineJob('my-build') {
    factory {
        workflowBranchProjectFactory {
            scriptPath('path-to-Jenkinsfile')
        }
    }
}

Job DSL 1.69での動作を確認しました。リリースノートによれば、1.67以降で利用可能です。

14
nerdherd

かなりの量のググリングの後、私はうまくいくものを見つけました:

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")
    }
}

これでうまくいくようです。

3
kgdesouz

設定は少し隠されていますが、 自動生成されたDSL は、マルチブランチジョブのスクリプトパスの設定をサポートします。

multibranchPipelineJob('example') {
  factory {
    workflowMultiBranchProjectFactory {
      scriptPath('my-location/Jenkinsfile')
    }
  }
} 
0
daspilker