如何使用轮询来触发构建,然后处理我自己的git操作

时间:2015-01-23 22:37:29

标签: git jenkins jenkins-plugins

Windows上的jenkins git插件非常慢。克隆一个5 MB的存储库需要花费8分钟。我已经阅读了多少原因,但我还没有找到一个有效的解决方案。那么我有什么尝试?

  • 确保jenkins服务在管理帐户下运行
  • 将plink换成本机ssh。没有爱。
  • 通过设置refspec优化git插件配置,使用浅克隆而不删除工作区。疯狂地,添加带有浅克隆选项的refspec似乎会导致两个fetches.One具有* ref spec和depth = 1,另一个具有已定义的refspec且没有深度设置。

所以现在我想做的是处理我自己的Git操作。

如何使用SCM轮询机制实现这一目标?似乎没有任何方法可以告诉SCM轮询在检测到更改时不开始提取。理想情况下,我只是希望在检测到更改时启动该作业,而不会触发git获取。

版本

  • 詹金斯1.5.9
  • git 2.3.1
  • git-client 1.12.0
  • github 1.10
  • github-api 1.59
  • mysysgit 1.9.4

请注意 我想要注意的是,将上面的版本堆栈更新到最新的固定大部分git慢度。我还在每次构建后停止清理目录,并在运行后清除构建工件。这使得git不需要每次都下载整个存储库。我的版本现在不到一分钟。

话虽如此,它没有回答原始问题,我如何使用轮询来触发构建,然后处理我自己的git操作。所以我暂时离开这个。

1 个答案:

答案 0 :(得分:0)

您可以配置git插件以使用本机Java实现。请参阅https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin上的“为什么不是JGit”。

另一个建议:你应该确保jenkins正在执行git.exe而不是像git.bat这样的包装器脚本