我已经使用了Jenkins DSL。现在,我启动了一个新项目,并考虑使用管道代替Jenkins DSL。
使用Jenkins DSL时,有种子工作,每个人都被迫将每个工作存储在版本控制中,以免覆盖它。我找不到用管道强迫同一件事的方法。
我喜欢这种方法,因为我认为它确实有助于将所有内容存储在VC中。
使用管道时,您需要手动创建作业配置,例如作业DSL种子作业。
您可以使用作业DSL来创建管道作业并将管道定义保留在您项目代码旁边的Jenkinsfile
中。
pipelineJob('example') {
definition {
cpsScm {
scm {
git('https://github.com/jenkinsci/job-dsl-plugin.git')
}
scriptPath('Jenkinsfile')
}
}
}
请参阅https://jenkinsci.github.io/job-dsl-plugin/#path/pipelinejob。
还要签约高级管道作业类型,例如多支盒和组织文件夹,它们提供了动态的作业设置。请参阅https://jenkins.io/doc/book/pipeline/multibranch/。作业类型也由作业DSL支持。