如何在多分支上使用其他仓库的 Jenkinsfile

How to use Jenkinsfile from other repo on multibranch

我们在特定的 git 存储库中有 Web 应用程序的源代码。 对于该源代码,我创建了一个多分支 Jenkins 项目,因此每个分支都有自己的 Jenkins 历史

我们有一个自动化管道,每晚 运行,我需要它 运行 用于 Web 应用程序源代码的每个分支。

自动化管道配置为 Jenkinsfile,与 Web 应用程序的源代码位于不同的存储库中。

有没有一种方法可以将表示自动化管道的 Jenkinsfile 与表示 Web 应用程序源代码构建的多分支项目一起使用?

或者唯一的选择是将 Jenkins 文件移动到 Web 应用程序的源代码?

将 Jenkinsfile 与代码库放在相同的代码库(和相同的分支)中确实是最佳实践,也是实现所需操作的最简单方法。

如果您有特殊原因将它放在不同的回购协议中,请详细说明。 您将需要您的 Jenkinsfile 来实现额外的逻辑来识别各种分支,如果您希望为每个分支都有单独的作业(您必须从本质上模拟多分支),则更是如此。这看起来非常复杂。

如果原因是为了避免在多个分支上复制 Jenkinsfile,则将逻辑放在共享管道库中并有一个简单的 Jenkinsfile 引用它。