二、问题处理
升级好war包后,本来想先下载个中文汉化包,但说证书有问题,这个问题应该是历史遗留问题了~~ 估计即使不升级装插件也会报错,因为本来也没配置好
走了不少弯路,有看到叫用openssl 生成证书,然后放到某个目录下;有叫在jenkins配置文件上 /etc/sysconfig/jenkins 加参数:JENKINS_JAVA_OPTIONS【https://blog.csdn.net/skybboy/article/details/110818699】,这个我特意说一下,war包下的jenkins是没有自己的配置文件的,如下图所示:
有叫在插件管理界面升级站点,https改成http【http://www.wjhsh.net/CesareZhang-p-13152032.html】,当时还真的以为是站点问题,因为本来写的是清华的更新地址,但验证检查是报错的:找不到合法证书位置,于是按文章改成 :http://updates.jenkins.io/update-center.json,竟然可以验证通过。
但是,安装插件时还是一样的报错。
既然无法在jenkins的配置文件(因为不存在)加 JVM 属性参数,那应该需要搜索别的关键字,才能找到解决方法,于是我就从tomcat入手了。
一开始找到这篇文章 “配置 Apache Tomcat 以与 Cloudant 配合使用”【https://www.ibm.com/docs/zh/mpf/7.1.0?topic=tomcat-configuring-apache-use-cloudant】,但是服务器上没有setenv.sh 的文件给配置JVM属性。
后来结合这篇“Tomcat配置Truststore的文章”【http://cn.voidcc.com/question/p-qpozvfwu-bgk.html】,才得以解决。
补充一下, 在服务器上找到的证书位置在:/etc/pki/ca-trust/extracted/java/cacerts
最终解决问题方法:
(1)在跑jenkins war包的tomcat下的bin目录,修改文件:catalina.sh,写入:
JAVA_OPTS="-Djava.awt.headless=true -Djavax.net.ssl.trustStore=/etc/pki/ca-trust/extracted/java/cacerts"
(2)更改站点证书
http://www.wjhsh.net/CesareZhang-p-13152032.html
确实不能用清华的下载地址,怀疑是跟证书配套用的。试过只添加(1)说到的参数,但日志显示证书报错。
2、看不到所有maven任务:
(1)升级后:
(2)升级前:
当时还以为自己手误干掉了,其实是Maven Info 插件报错:
升级这个插件的时候也不是特别顺利,因为发现,插件之间是有各种关联的,好比Maven Info 依赖:token-macro,token-macro又依赖:pipeline,最后装完pipeline插件才正常显示jenkins里面的maven任务
3、jenkins配置排版格式乱
一开始怀疑是插件不兼容jenkins版本问题,但具体哪个插件不清楚,于是胡乱升级插件
还有页面图标图片看不到 --- 暂未知原因
jenkins日志也没找到有价值的问题突破点:
脑袋大开以为是某些接口调不了,又乱查一通。。。
最后解决办法:是java版本问题,需要从原来的jdk8换成jdk11
一开始以为这个提示没啥用的,但该试的方法都试了,只能死马当活马医。还真的是这个问题:
http://{jenkins服务器ip地址+端口}/jenkins/systemInfo 检查java版本已升级(/etc/profile配JAVA 的环境变量)
看来jenkins的war包版本 2.303 是要跟 jdk1.11版本结合使用才行。建议 tomcat 的 catalina.sh 也配置一个JAVA_HOME,以防万一,还是用原来的 java 8 版本,然后重启下tomcat服务。