组合多个jenkins共享库

时间:2018-09-24 11:46:54

标签: jenkins

是否可以合并多个共享的Jenkins库?

例如我有一个公用的共享库: my-shared-library (带有Maven项目的git存储库)在包含一些作业的jenkins文件夹中定义。每 在该文件夹中运行的作业可以通过以下方式使用Jenkinsfile中的共享库:

@Library("my-shared-library") _
import com.pipelines.Pipeline
new Pipeline().build()

现在,我想创建另一个共享库: my-specialized-shared-library ,其中包含一些专门的管道(在另一个git存储库中也作为maven项目)。 my-specialized-shared-library 中的管道(常规类,脚本等)应该能够从以下位置使用/导入类,管道等: 我的共享库是可能的,如果可以的话,推荐的方法是什么?

1 个答案:

答案 0 :(得分:0)

在Manage Jenkins>配置系统中,我通过不同的URL定义了2个不同的全局管道库。

  • GlobalLibrary-1
  • GlobalLibrary-2

.jenkins文件:

@Library('GlobalLibrary-1@some_branch') l1 //you can write here _ (underscore) or any other string.
@Library('GlobalLibrary-2@any_branch') l2
import com.lib1.Class1;  // import from GlobalLibrary-1
import com.prodcode.Class2;  // import from GlobalLibrary-2

node {
    new Class1();
    new Class2();
}

我什至可以在 Class2.groovy 内部使用导入从 GlobalLibrary-1 中获取类。