使用远程安装Jenkins方式,更新Jenkins只需要下载最新的jenkins.war包,然后替换掉原来/usr/lib/jenkins目录下的jenkins.war包就好,但是重启失败了。
解决:kill -9杀掉所有有关jenkins进程,然后service jenkins restart
问题过程,我替换掉war包后,使用service jenkins restart,出现重启失败
然后查看问题明细
就是看不出是哪里问题,网上说什么jdk没有安装正确,jenkins用户没有权限,并有相关解决方案,我这里不是
最后,直接查看jenkins运行日志,tail -100f /var/log/jenkins/jenkins.log,可以看到报错,我的jenkins端口设置是9090,然后提示占用
问题原因:在重启的时候,原先jenkins进程并没有被杀掉,导致新进程启用失败,因为端口在占用
解决:我也不知道为什么service jenkins restart重启命令不生效,但是我知道简单暴力的解决办法,哪就是ps -ef|grep jenkins,列出所有有关jenkins进程,kill -9 强行kill,然后service jenkins restart就重启成功了
kill -9 24557
kill -9 24558
kill -9 24559
然后重启,命令是service jenkins restart,然后我们去看jenkins.log,最后出现Jenkins is fully up and running,表示启动成功,再去访问,能访问,这时候再去看service jenkins restart提示运行结果,是FAILED,管它的,提示就当是WARN好了,有空再去查一下为什么,反正更新重启好了就行。
结论:这个问题其实就是命令停止jenkins不生效,导致原先进程没有kill掉,新进程要运行,端口占用,所以一直启动不成功,在jenkins.log里面很直观体现,但是在systemctl status jenkins.service体现不出来。