开篇:

使用Jenkins 升级 或者安装插件的的时候一定要慎重!一定要慎重!一定要慎重!
不然你将踩入一个大坑,并且网上的各种复制黏贴的解决办法 会将你带入无尽的深渊

大坑:

首先你要安装一个插件,比如Extended Choice Parameter插件 ,且你已经配置了国内的插件镜像源 ,像这样 

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json

Jenkinswar包中的插件目录在那 jenkins 插件_Jenkins

 

这个时候 你可能会直接 在可选插件中去搜索 Extended Choice Parameter ,不出意外你会直接勾选 然后安装,最后安装完成 等待重启

比如安装一个 构建的多选参数插件,

Jenkinswar包中的插件目录在那 jenkins 插件_java_02

 

到这里 那么恭喜你,你的其他已经安装的插件 可能已经无法使用了 ,

Jenkins 按照插件时,会顺带安装这些插件的依赖,这些插件依赖同时有可能也是你其他已经安装号的插件的依赖,而这些依赖的插件 有可能 并不能在当前的Jenkins 版本下运行 

注意,插件 和 Jenkins版本是有兼容性的要求!!! 

大坑1 Jenkins 直接无法启动 报错 :

com.thoughtworks.xstream.mapper.CannotResolveClassException: com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategyat com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:79)atcom.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30) at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55)

解决办法:

先备份 Jenkins 工作目录下的 config.xml 

删除config.xml 中 authorizationStrategy阻止并更改 <useSecurity>true</useSecurity>为假。
启动 jenkins(它正常启动但没有身份验证)

(这尼玛 终于 启动成功了 )

大坑2 ,你会发现原来的插件无法使用了

然后 你尝试各种删除插件重新安装,换插件镜像源,都没啥卵用,

解决:

 

Jenkins 即使 你换了国内的镜像源,Jenkins 给你安装的时候 默认安装的都是 最新版本Jenkins 所兼容的插件,而不是你当前所使用的Jenkins 版本兼容的插件

(Jenkins 牛逼!!!🤮)

这里的镜像源 需要配置 你当前Jenkins版本所匹配的镜像源 才行 ,真的是智障设计

在这里查找符合你版本的镜像源 :https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/

Jenkinswar包中的插件目录在那 jenkins 插件_镜像源_03

 我的Jenkins是2.278版本的 所以镜像源用的是这个 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.278/update-center.json

Jenkinswar包中的插件目录在那 jenkins 插件_镜像源_04

 配置号新的镜像源后,获取更新, 我尼玛 又报错

Jenkins: signature verification failed in update site ‘default‘ (show details)

解决办法是 增加Jenkins 运行参数 -Dhudson.model.DownloadService.noSignatureCheck=true

Jenkins的配置文件通常位于`/etc/default/jenkins`或`/etc/sysconfig/jenkins`目录下

Jenkinswar包中的插件目录在那 jenkins 插件_Jenkinswar包中的插件目录在那_05

最后重启 systemctl restart jenkins 解决