Jenkins在共享库中使用@Library声明

时间:2019-02-15 20:52:10

标签: jenkins jenkins-pipeline

假设我有一个共享库GlobalSharedLibs,该存储库包含:

/vars/global.groovy

我还有一个Java库JavaSharedLibs,其中包含:

/vars/javaBuild.groovy (and others)

我还有一个JavaScript存储库JsSharedLibs,其中包含:

/vars/javascriptBuild.groovy (and others)

global.groovy脚本具有javaBuild和javascriptBuild的通用代码。我希望在每个Java构建和JavaScript构建中都包含全局库。

稍后,我将在Java构建中使用javaBuild:

@Library('JavaSharedLibs')_
javaBuild{
}

JavaScript版本将使用javascriptBuild:

@Library('JsSharedLibs')_
javascriptBuild{
}

我可以通过在this example中为Java分配消耗应用程序中的两个应用程序来使其工作:

@Library(['GlobalSharedLibs', 'JavaSharedLibs'])_
javaBuild{
}

我希望避免这种情况,因为它会将对GlobalSharedLib的引用散布在数百个应用程序中(并在开发人员手中),而不是在少数其他共享库中传播。

0 个答案:

没有答案