Jenkins可以加载共享库而不会在每次执行时重新列入它们吗?

时间:2017-08-24 09:43:15

标签: jenkins groovy jenkins-pipeline

我发现Jenkins将克隆每个构建的共享库存储库后,我发现Jenkins Shared(Groovy)库名称有点混乱和讽刺,是的,为每次执行克隆相同的代码。

这违反了共享库的概念:因为这些是由多个消费者加载的代码片段。想象一下,如果操作系统在您尝试加载它时会复制任何已加载的库,那将是怎样的...(每天数千个)

有没有办法避免资源严重过载?

参考:

1 个答案:

答案 0 :(得分:2)

我认为目前无法避免这种情况,但我同意这将是一个巨大的好处。

Jenkins应该缓存共享库,并且只提取Jenkinsfile中引用的最新分支。

除了保存不断克隆开销之外,本地缓存共享库的另一大好处是可以独立于您的存储库。 Jenkins应该能够使用它缓存的最后一个共享库版本 - 即使存储库已关闭。目前,如果您的管道不仅可以构建,也可以部署,那么您的部署过程取决于您的共享库存储库的可用性 - 但理想情况下,即使git存储库已关闭,也可以部署已构建的软件包。