错误起因

在使用jenkins的过程中,因为我下载的官方镜像,带的插件源是官方的,在国内不时会出现下载慢,下载超时报错的情况。因为当时没有留下截图,所以我这里也就不再模拟一次错误了。

大致是java.io包,报了一个time out错误,实际上就是因为国外插件源访问超时。

 

目前咱们国内的团队正在积极的为成立jenkins中文组织做努力,我也在其中受益良多,希望大家多为各种国内技术组织贡献力量。

 

解决方案

直接使用含有中文插件源的镜像

因为我们使用docker安装jenkins的时候一般会把数据目录映射出来存储,方便以后的迁移,所以我们可以放弃使用官方镜像,而更换为国内朋友们制作的,含有中文插件源的同一个版本或者相近版本的中文镜像来安装jenkins。

中文镜像可以查看地址:https://jenkins-zh.cn/wechat/articles/2019/11/2019-11-11-update-center-mirror-announcement/

 

更新为中文插件源

更换插件源方法

点击 系统管理->插件管理

k8s 安装 jenkins 使用存储类 jenkins k8s插件_jenkins中java报错

 

进入后有四个选项,可更新,可选插件,已安装,高级

点击进入高级选项框,进入最底部,升级站点的输入框中,填写中文源地址。

 

中文插件中心地址:https://updates.jenkins-zh.cn/update-center.json

github地址:https://github.com/jenkins-zh/update-center-mirror/blob/master/README-zh.md

k8s 安装 jenkins 使用存储类 jenkins k8s插件_github_02

 

这里有一些坑

点击提交,并点击下方的立即获取后,有可能报错如下:

k8s 安装 jenkins 使用存储类 jenkins k8s插件_java报time out_03

这里是因为只更新插件地址,没有相对应的证书的原因,直接给出最佳的解决方案

使用docker命令登陆进jenkins容器内部,运行如下命令(脚本会自动读取JENKINS_HOME环境变量)

bash -c "$(curl -fsSL https://gitee.com/hummerstudio/jenkins-update-center-changer/raw/master/jenkins-update-center-changer.sh)"

修改成功后,脚本还会打印后续操作指引:

k8s 安装 jenkins 使用存储类 jenkins k8s插件_jenkins安装插件报错_04

 


下载插件文件以后再安装

当然这里可能也涉及到更新插件源的方式,如果不做研究的情况下,我们使用上面两种方式就可以了。这种方式就像是你使用python不适用pip安装模块,也可以直接下载模块的文件来安装一样。想了解的朋友们可以自行查询。这里就不介绍了。