Jenkins启动失败的7个解决方案

Jenkins作为开源工具,在它的版本迭代过程中,多次出现过更新后无法启动的情况,如下:

 

1、需要注意jdk版本和路径问题(注意向后看第5个问题)

Jenkins官网推荐使用JDK11和JDK17,固守JDK8的建议更新一下。 

先使用which java查看本机的JDK环境路径:

  

再使用vim /etc/init.d/jenkins进行校对,要和上图内容保持一致:

2、用户名问题

查看/etc/sysconfig/jenkins的JENKINS_USER="root",如果不是root,而是jenkins或者其它,要改成root。如果已经是root,则相反操作改为jenkins。

或者/usr/lib/systemd/system/jenkins.service的,同上处理。 

对于Jenkins的老版本:

vim /etc/sysconfig/jenkins

systemctl daemon-reload 

对于Jenkins的新版本:

vim /usr/lib/systemd/system/jenkins.service 

User=root

Group=root 

systemctl daemon-reload 

systemctl start jenkins.service

systemctl stop jenkins.service

systemctl status jenkins.service

3、log权限问题

因为某种原因,jenkins.log权限被限制:

cd /var/log

chmod 777 -R jenkins/

4、启动方法问题(如果是CentOS9,则需要先执行如下第一步)

cp /etc/rc.d/init.d/functions /etc/init.d/

cd /etc/init.d/ 

./jenkins status

./jenkins stop

./jenkins start

5、无法使用systemctl启动jenkins,最经常出现的就是journalctl -xe错误(注意向前看第1个问题)

原因是因为systemctl启动时调用的jenkins.service文件在/usr/lib/systemd/system目录下,无法调用/etc/init.d/下的jenkins。所以如果遇到通过服务方式而无法启动jenkins,则需要修改jenkins.service来进行适配:

vim /usr/lib/systemd/system/jenkins.service

修改上图为:

Environment="JAVA_HOME=/usr/java/jdk-17.0.4"

其中/usr/java/jdk-17.0.4为使用which java命令得到的路径。

systemctl daemon-reload

systemctl enable jenkins 

systemctl start jenkins.service

systemctl stop jenkins.service

systemctl status jenkins.service

6、端口被占用,可能需要修改端口(修改前kill所有jenkins进程)

对于Jenkins的老版本:

vim /etc/sysconfig/jenkins

systemctl daemon-reload

对于Jenkins的新版本:

vim /usr/lib/systemd/system/jenkins.service

systemctl daemon-reload

以上两处为Jenkins的端口修改配置,建议两者端口号数据保持一致。 

systemctl start jenkins.service

systemctl stop jenkins.service

systemctl status jenkins.service 

netstat -ntap | grep 31000

7、卸载jenkins

最后的办法了,希望你们不要看到这里。

yum remove jenkins

rm -rf /etc/sysconfig/jenkins.rpmsave

rm -rf /var/cache/jenkins/

rm -rf /etc/init.d/jenkins.rpmsave

重新安装jenkins 

./jenkins status

./jenkins stop

./jenkins start

 

posted @ 2022-08-11 16:38  子小逗子  Views(16795)  Comments(2Edit  收藏  举报