目标:通过启用更快的签出来增强用户体验
状态:完成
这个项目的目的是发现并改进git插件中潜在的性能提升区域。这样做的过程是为了找到git的两个共存实现之间的性能差异,CLI git
和JGit
.通过创建一个特性来利用这些差异是合乎逻辑的,该特性将自动切换git实现,以优化调整到特定的场景或用例。修复git插件中现有的性能问题以提高其整体性能也是合乎逻辑的。
该项目确定了git SCM checkout作为显示潜在增强范围的区域。改进该过程的任何部分都意味着直接减少Jenkins作业的总体执行时间。必威国际有限公司
git插件是使用最广泛的Jenkins组件之一,它为Jenkins生态系统提供了git源代码必威国际有限公司管理功能。这些功能或git操作(如取回或结帐)是通过两个互斥的实现来提供的,CliGitAPIImpl和JGitAPIImpl.
默认情况下,用户只启用命令行git。要启用JGit并充分了解新特性的好处,请访问以下文档:在git插件中启用JGit.
我们的任务是在多个平台上比较这两种可用的存储库参数的实现(比如git对象的大小,分支的数量),从而得出一个所谓的普遍的规则这将帮助插件决定在特定情况下哪个实现是最佳的。
删除一个冗余取操作(必威国际有限公司詹金斯- 49757)在初始检出期间(pr - 845)
此修复程序确保在使用自动测试确认预期行为的情况下,删除第二次取操作时不会造成存储库/用户数据丢失
使用JMH基准测试框架进行性能比较(pr - 553)
git插件的性能增强(pr - 931)
将JMH基准测试模块集成到git客户端插件
选择一个git操作并编写一个基准测试
验证基准测试结果
修正git冗余获取问题必威国际有限公司詹金斯- 49757
创建一个修复并编写自动化测试用例
在投入生产前进行交互式测试
设计一个策略来实现插件的性能改进
根据基准实施绩效改进:
GitToolChooser——一个试图为特定远程存储库推荐最佳git实现的类
在git客户端插件中扩展了基准测试的范围
对多个存储库参数进行基准测试
多平台基准测试
这个阶段标志着git插件的发布,在GSoC期间执行了所有性能改进。这包括添加GitToolChooser,从checkout中删除冗余的第二次取,并在git客户端插件中添加JMH基准模块。
办公时间安排在国际标准时间每周三14:30,有规律会议指出任何人都可以阅读。