之前公司用的jenkins,可以实现自动部署、自动集成,现在每次部署都感觉有点麻烦,所以想研究下jenkins,但在安装jenkins中遇到插件安装失败,该jenkins似乎处于离线状态等插件安装失败的问题,在网上找的答案基本上都是大同小异,如修改国外的源为国内的源,或者把国外源的url中的https改为http,但在自己的机器上还是没有成功,有试过在tomcat中启动,有试过直接java -jar的方式启动,插件都是下载失败,后面在另外一个同事的机器上测试,他的一进去就可以直接下载推荐插件,但我们用的启动方式,容器tomcat版本号,系统window都是一样,这就很诡异了。
弄了三天后,终于找到原因了。
问题1 :改jenkins似乎已离线
将默认的修改为国内清华的源
清华源url:http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
问题2:unable to find valid certification path to requested target(找不到有效证书)
一般修改问题1就不存在问题2了,因为在网上问题2的解决方式也是问题1的解决方式,唯一不同的是我的是在window上启动的,有点怀疑是操作系统导致的,这个问题坑了我三天!!!
jenkins可以运行在window上,也可以运行在linux上,我这里是运行在window上
jenkins在window上的启动安装的方式有三种
第一种方式是下载msi文件,直接双击运行,这种方式试过,一直要我输入accout和password,但是不知道这两个来自哪里,直接pass了
第二种方式是下载war包,放在tomcat下的webapps启动,这种方式和第三种差不太多
第三种方式是在终端界面中直接java -jar的方式启动,我这里用到就是这种
启动完成后,会在c盘---用户---用户名下生成一个 .jenkins的文件夹
我们问题1修改的URL源路径,其实就是修改的是.jenkins下名为 hudson.model.UpdateCenter.xml 这个文件
在修改url源路径之前,最下面可能是提示报错的,修改成功后会在.jenkins下生成一个 update 的文件夹,将这个文件夹中default.json中的默认的路径全部替换为国内源路径即可,国内源路径一定是http的,用的https在下载插件时会有找不到证书的问题
默认的:
https://updates.jenkins.io/download/plugins
"url":"https://updates.jenkins.io/download/plugins/42crunch-security-audit/3.8/42crunch-security-audit.hpi"
替换为国内的后:
http://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins
"url": "http://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/42crunch-security-audit/3.8/42crunch-security-audit.hpi"
下载插件失败:
下载插件成功:
jenkins安装中文文档:
https://www.jenkins.io/zh/doc/book/installing/