在Jenkins中创建多分支管道时,配置选项之一是:Jenkinsfile
,您可以在其中设置Jenkinsfile
相对于分支根的位置。例如,如果您在仓库的根目录处有Script Path
,则只需将Jenkinsfile
设置为Jenkinsfile
。然后,当检测到分支并为这些分支创建作业时,Jenkins知道在哪里可以找到 let x=[{"name":"james","age":"23"},{"name":"job","age":"55"}];
console.log(JSON.stringify(x));
脚本,一切都很好。
这很好用,但是可以说我想拥有所有功能,而我的存储库中没有Jenkinsfile 。我仍然想检测所有分支并为每个分支运行一个作业,但是如果Jenkinsfile驻留在其他位置(例如,一个单独的仓库),我会更愿意。
詹金斯有没有办法做到这一点?
答案 0 :(得分:2)
来自https://jenkins.io/doc/book/pipeline/multibranch/
使用Multibranch Pipeline项目类型,您可以为同一项目的不同分支实现不同的Jenkinsfile。在Multibranch Pipeline项目中,Jenkins自动发现,管理和执行分支在源代码管理中包含Jenkinsfile 的分支的管道。
IMO,看来不可能。
答案 1 :(得分:1)
您想要做的基本上会破坏Multibranch Pipeline的全部目的。该插件旨在允许您每个分支一个Jenkinsfile,以便在每个分支中可以修改有关如何构建此分支的说明(配置为代码)。
如果一个Jenkinsfile对您有好处,则应将其作为常规Pipeline作业运行-例如分支名称作为参数。