Jenkinsfile-不要加载隐式全局库

时间:2019-09-02 12:42:44

标签: jenkins jenkins-pipeline jenkins-groovy jenkins-cli

我公司的Jenkins使用全局库,这些库是隐式加载的。

它们是c ***,我不希望它们出现在每个管道中。加载它们需要10秒钟以上。

有人知道如何压制他们吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

不幸的是,无法禁止全局共享管道。我遇到了一个类似的问题,我需要一个库来应用于大多数工作,但是只有少数不需要它的工作。

我不知道您的詹金斯设置的详细信息,但是我的解决方法可能会有所帮助。我利用了Jenkins文件夹中的共享管道配置。

Picture of Folder "job"

为此,您需要从“全局设置”中删除库,然后将它们放在文件夹中。

enter image description here

然后,您可以将所有需要共享库的作业移至该新创建的文件夹。使用文件夹定义的共享库,您现在可以在最初需要全局共享库的作业和不需要全局共享库的作业之间有一定程度的分离。如果有很多工作,将所有工作移到正确的文件夹肯定会有些麻烦。在删除全局共享库之前,您还需要确保将需要该库的所有作业移到该文件夹​​中。

禁止共享管道是提供给Jenkins团队的良好支持,该功能将非常有用。我会好好利用它的:)

答案 1 :(得分:0)

要禁用Global Shared Libraries,您可以注释您的Jenkinsfile中的行,该行类似于以下任何变体:

@Library('my-shared-library') _
/* Using a version specifier, such as branch, tag, etc */
@Library('my-shared-library@1.0') _
/* Accessing multiple libraries with one statement */
@Library(['my-shared-library', 'otherlib@abc1234']) _

以上注释可以在Groovy允许注释的脚本中的任何地方