自从被迫舍弃了优越、稳定、网络好的travis后,开始了折腾jenkins之路。一路折腾,一路踩坑。这其中最大、最难爬的坑要属网络
。感谢相关部门让我们处在这么一个网络环境中,这无疑对提升我们的网络水平是相当有帮助的。
代理
我们知道,解决网络的最有效的方便是使用非普通代理。让数据通过代理github、maven、npm等资源连接,从而解决慢网络的问题。
本文的重点并不在于如何安装使用代理。假设我们已经安装了本机代理,信息为:http://127.0.0.1:9789
配置git代理
git
提供了git config --global
命令来设置全局配置,我的理解是:远程登录服务器后,执行:git config --global http.proxy http://127.0.0.1:9789
后,应该对于所有的用户都生效,包括jenkins自动使用git进行代码检出的用户。
但事与愿违,照此思路无论怎么尝试最终还是无法提升jenkins要使用git时的检出速度。在Check out from version control
环节中,仍然会报:returned status code 143:
143错误。
还有相关的资料推荐将一些插件,或者直接将jenkins跑在代理后面的,或者设置timeout的最大时间阀值的,均为达到心中的理想值。
最后猜测或许jenkins在与服务器交互时,并没有使用服务器设置的相关环境变量,而是完全使用的自己的。
于是来到了jenkins设置中的环境变量设置:
小手一抖保存,rebuild,快速通过,git代理生效。
第二种方案
如果你的jenkins有多个节点, 各个节点的代理信息并不统一;或者你的jenkins上有多个项目,有些地址你想走代理,而另外一些不想走代理。则可以在每个节点上的jenkins目录建立.gitconfig
文件,并输入以下内容:
[http "https://github.com"]
proxy = http://127.0.0.1:9789
表示只有github.com
上的仓库走代理。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。