我发现Jenkins将克隆每个构建的共享库存储库后,我发现Jenkins Shared(Groovy)库名称有点混乱和讽刺,是的,为每次执行克隆相同的代码。
这违反了共享库的概念:因为这些是由多个消费者加载的代码片段。想象一下,如果操作系统在您尝试加载它时会复制任何已加载的库,那将是怎样的...(每天数千个)
有没有办法避免资源严重过载?
参考:
答案 0 :(得分:2)
我认为目前无法避免这种情况,但我同意这将是一个巨大的好处。
Jenkins应该缓存共享库,并且只提取Jenkinsfile
中引用的最新分支。
除了保存不断克隆开销之外,本地缓存共享库的另一大好处是可以独立于您的存储库。 Jenkins应该能够使用它缓存的最后一个共享库版本 - 即使存储库已关闭。目前,如果您的管道不仅可以构建,也可以部署,那么您的部署过程取决于您的共享库存储库的可用性 - 但理想情况下,即使git存储库已关闭,也可以部署已构建的软件包。