欢迎大家去我的个人网站踩踩 点这里哦
一、前言
最近打算学习Jenkins,所以就在虚拟机CentOS7上想练练手,网上安装教程很多,我选择了下载war包,部署到tomcat的方式,启动项目后,第一次访问会提示你安装推荐的插件,咱当然安装了,可谁知这龟速啊,几k的走,而且一会儿就报错了,立马去网上查找解决方案,此方法可能无效了,可以作为解决思路看一下,具体最新解决方法在我的另一篇文章中最新方法点这里
二、网上的解决方案
配置Jenkins更新插件的地址,改为国内镜像,网上全是这种方案,如下图
看起来好像没问题,这镜像地址也能访问,如下图
随便找了个插件下载,速度杠杠的,然后重启了项目,再次访问安装插件,还特么不行,报了错误,就是下载地址下不下来。
三、排查原因
想不通,明明镜像都能下载,为什么到Jenkins里面就不行了,期间想会不会没生效啥的,又在网上找了半天不生效该怎么解决,tnd网上根本没有,还是一大堆的配置镜像,我真是服了,怎么办,网上靠不住,只能靠自己了,开始看报错信息,这里当时忘了截图了,反正就是报错下载地址下不下来,但我仔细一看,下载地址后还多了个 redirect to 另一个地址,这是怎么回事,难道自己重定向了?
查看配置的镜像文件update-center.json,这个文件其实就是配置了所有的插件的下载地址,我搜索了报错插件,找到对应地址如下图
既然有地址了,咱在浏览器下载一下试试呗,如下图
果然被重定向到了官方下载地址,下了半天下不下来,在这里想骂一句,特么的用了镜像你又给我转到官方地址,我要你有何用
四、解决方法
既然问题找到了,那该怎么解决呢,我想他既然是通过这个文件去找下载地址的,那我把这个文件里的地址都改成镜像对应插件的地址不就行了,镜像的插件都在plugins目录下面,如下图
把json文件下载下来,进行地址替换,如下图:
替换完了,那放哪呢,网上查了下,这个配置文件的位置,/root/.jenkins/updates/default.json 注意默认名字就叫default.json,所以改了名字传到服务器上
其实还有一个配置文件也有关系,就是/root/.jenkins/hudson.model.UpdateCenter.xml 这个就是配置的镜像地址
好了,都改完了,重启试了一下,再次下载插件,那速度杠杠的呀,太爽了,一会儿功夫全安装完了,哈哈哈。
五、总结
通过解决这个问题,我明白不能全靠网上的方案,很多都是复制别人的,遇到类似问题自己也思考一下该如何解决,其实很多问题也不是很难,只要好好思考,一步一步来。
后话:其实后来发现了一篇类似的解决方案,他的方案也不错,他没有修改json文件的下载地址,而是通过nginx把去官方下载的地址再转发到镜像的下载地址,这个方法也不错,大家可以试试。