错误起因
在使用jenkins的过程中,因为我下载的官方镜像,带的插件源是官方的,在国内不时会出现下载慢,下载超时报错的情况。因为当时没有留下截图,所以我这里也就不再模拟一次错误了。
大致是java.io包,报了一个time out错误,实际上就是因为国外插件源访问超时。
目前咱们国内的团队正在积极的为成立jenkins中文组织做努力,我也在其中受益良多,希望大家多为各种国内技术组织贡献力量。
解决方案
直接使用含有中文插件源的镜像
因为我们使用docker安装jenkins的时候一般会把数据目录映射出来存储,方便以后的迁移,所以我们可以放弃使用官方镜像,而更换为国内朋友们制作的,含有中文插件源的同一个版本或者相近版本的中文镜像来安装jenkins。
中文镜像可以查看地址:https://jenkins-zh.cn/wechat/articles/2019/11/2019-11-11-update-center-mirror-announcement/
更新为中文插件源
更换插件源方法
点击 系统管理->插件管理
进入后有四个选项,可更新,可选插件,已安装,高级
点击进入高级选项框,进入最底部,升级站点的输入框中,填写中文源地址。
中文插件中心地址:https://updates.jenkins-zh.cn/update-center.json
github地址:https://github.com/jenkins-zh/update-center-mirror/blob/master/README-zh.md
这里有一些坑
点击提交,并点击下方的立即获取后,有可能报错如下:
这里是因为只更新插件地址,没有相对应的证书的原因,直接给出最佳的解决方案
使用docker命令登陆进jenkins容器内部,运行如下命令(脚本会自动读取JENKINS_HOME环境变量)
bash -c "$(curl -fsSL https://gitee.com/hummerstudio/jenkins-update-center-changer/raw/master/jenkins-update-center-changer.sh)"
修改成功后,脚本还会打印后续操作指引:
下载插件文件以后再安装
当然这里可能也涉及到更新插件源的方式,如果不做研究的情况下,我们使用上面两种方式就可以了。这种方式就像是你使用python不适用pip安装模块,也可以直接下载模块的文件来安装一样。想了解的朋友们可以自行查询。这里就不介绍了。