繁体   English   中英

Jenkins 正在运行,但服务表示失败

[英]Jenkins is running but service says it is failed

由于我已经通过 yum update jenkins 在 CentOS7 上安装了 jenkins 2.319.1 我遇到了问题,我可以通过 sudo systemctl start jenkins 启动 jenkins 作为服务。然后 jenkins 将启动一个我可以通过浏览器访问它。通过 sudo systemctl status jenkins 获取服务状态。

我先得到:

PROD [root@abmrndplje001 grafra1969]$ systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
  Drop-In: /etc/systemd/system/jenkins.service.d
           └─00-proxy.conf
   Active: activating (start) since Wed 2021-12-15 19:42:42 CET; 1min 54s ago
     Docs: man:systemd-sysv-generator(8)
  Control: 969 (jenkins)
   CGroup: /system.slice/jenkins.service
           ├─ 969 /bin/sh /etc/rc.d/init.d/jenkins start
           ├─1004 runuser -s /bin/bash jenkins -c ulimit -S -c 0 >/dev/null 2>&1 ; /etc/alternatives/java ...
           ├─1035 bash -c ulimit -S -c 0 >/dev/null 2>&1 ; /etc/alternatives/java -Djava.awt.headless=true...
           └─1041 /etc/alternatives/java -Djava.awt.headless=true -Xmx8g -XX:MaxPermSize=1024m -DJENKINS_H...

Dec 15 19:42:42 abmrndplje001.pass-consulting.com systemd[1]: Starting LSB: Jenkins Automation Server...
Dec 15 19:42:42 abmrndplje001.pass-consulting.com runuser[1004]: pam_unix(runuser:session): session open...0)
Dec 15 19:42:42 abmrndplje001.pass-consulting.com jenkins[969]: Starting Jenkins OpenJDK 64-Bit Server V....0
Dec 15 19:42:55 abmrndplje001.pass-consulting.com jenkins[969]: WARNING: An illegal reflective access op...ed
Dec 15 19:42:55 abmrndplje001.pass-consulting.com jenkins[969]: WARNING: Illegal reflective access by co...n)
Dec 15 19:42:55 abmrndplje001.pass-consulting.com jenkins[969]: WARNING: Please consider reporting this ...$2
Dec 15 19:42:55 abmrndplje001.pass-consulting.com jenkins[969]: WARNING: Use --illegal-access=warn to en...ns
Dec 15 19:42:55 abmrndplje001.pass-consulting.com jenkins[969]: WARNING: All illegal access operations w...se
Hint: Some lines were ellipsized, use -l to show in full.
PROD [root@abmrndplje001 grafra1969]$

大约 5 分钟后。 状态从激活变为失败,并作为超时的原因。 然而,进程仍在运行,jenkins 正在运行,可以通过浏览器访问。

PROD [root@abmrndplje001 grafra1969]$ systemctl status jenkins -l
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
  Drop-In: /etc/systemd/system/jenkins.service.d
           └─00-proxy.conf
   Active: failed (Result: timeout) since Wed 2021-12-15 19:47:42 CET; 5min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 969 ExecStart=/etc/rc.d/init.d/jenkins start (code=killed, signal=TERM)
   CGroup: /system.slice/jenkins.service
           ├─1004 runuser -s /bin/bash jenkins -c ulimit -S -c 0 >/dev/null 2>&1 ; /etc/alternatives/java -Dj                                                                   ava.awt.headless=true -Xmx8g -XX:MaxPermSize=1024m -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenk                                                                   ins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --ht                                                                   tpListenAddress=localhost --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
           ├─1035 bash -c ulimit -S -c 0 >/dev/null 2>&1 ; /etc/alternatives/java -Djava.awt.headless=true -X                                                                   mx8g -XX:MaxPermSize=1024m -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/l                                                                   og/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --httpListenAddress=localhos                                                                   t --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
           └─1041 /etc/alternatives/java -Djava.awt.headless=true -Xmx8g -XX:MaxPermSize=1024m -DJENKINS_HOME                                                                   =/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cac                                                                   he/jenkins/war --daemon --httpPort=8080 --httpListenAddress=localhost --debug=5 --handlerCountMax=100 --handl                                                                   erCountMaxIdle=20

Dec 15 19:42:42 abmrndplje001.pass-consulting.com jenkins[969]: Starting Jenkins OpenJDK 64-Bit Server VM war                                                                   ning: Ignoring option MaxPermSize; support was removed in 8.0
Dec 15 19:42:55 abmrndplje001.pass-consulting.com jenkins[969]: WARNING: An illegal reflective access operati                                                                   on has occurred
Dec 15 19:42:55 abmrndplje001.pass-consulting.com jenkins[969]: WARNING: Illegal reflective access by com.goo                                                                   gle.inject.internal.cglib.core.$ReflectUtils$2 (file:/var/cache/jenkins/war/WEB-INF/lib/guice-4.0.jar) to met                                                                   hod java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
Dec 15 19:42:55 abmrndplje001.pass-consulting.com jenkins[969]: WARNING: Please consider reporting this to th                                                                   e maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$2
Dec 15 19:42:55 abmrndplje001.pass-consulting.com jenkins[969]: WARNING: Use --illegal-access=warn to enable                                                                    warnings of further illegal reflective access operations
Dec 15 19:42:55 abmrndplje001.pass-consulting.com jenkins[969]: WARNING: All illegal access operations will b                                                                   e denied in a future release
Dec 15 19:47:42 abmrndplje001.pass-consulting.com systemd[1]: jenkins.service start operation timed out. Term                                                                   inating.
Dec 15 19:47:42 abmrndplje001.pass-consulting.com systemd[1]: Failed to start LSB: Jenkins Automation Server.
Dec 15 19:47:42 abmrndplje001.pass-consulting.com systemd[1]: Unit jenkins.service entered failed state.
Dec 15 19:47:42 abmrndplje001.pass-consulting.com systemd[1]: jenkins.service failed.

如何正确启动服务?

刚刚发现同一个jenkins版本在不同的CentOS7服务器上运行,服务状态为active。

到目前为止我看到的唯一区别是工作版本没有使用 runuser 作为第一个命令

[root@jenkins2-rnd grafra1969]# systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: active (running) since Thu 2021-12-16 15:57:56 CET; 18min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4436 ExecStop=/etc/rc.d/init.d/jenkins stop (code=exited, status=0/SUCCESS)
  Process: 4448 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/jenkins.service
           ├─ 1883 ssh-agent
           ├─ 3329 ssh-agent
           ├─ 4452 /etc/alternatives/java -Djava.awt.headless=true -Dhudson.plugins.active_directory.ActiveDirectorySecurityRealm.forceLdaps=f...
           ├─ 5150 ssh-agent
           ├─ 8365 ssh-agent
           ├─12083 sh -c ({ while [ -d '/var/lib/jenkins/workspace/Pam4Web_master@tmp/durable-8b6bf811' -a \! -f '/var/lib/jenkins/workspace/P...
           ├─12084 sh -c ({ while [ -d '/var/lib/jenkins/workspace/Pam4Web_master@tmp/durable-8b6bf811' -a \! -f '/var/lib/jenkins/workspace/P...
           ├─12085 sh -xe /var/lib/jenkins/workspace/Pam4Web_master@tmp/durable-8b6bf811/script.sh
           ├─12088 /usr/lib/jvm/java-11-openjdk/bin/java -classpath /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven-3.6/boot...
           ├─12969 sleep 3
           ├─13279 ssh-agent
           ├─14595 ssh-agent
           ├─15882 ssh-agent
           └─17056 ssh-agent

我有完全相同的问题并修复它。 问题来自您的 /etc/init.d/jenkins。 您可能对其进行了修改,并且更新过程(rhel7 上的 yum)无法替换它。 这个“旧文件”与新版本的 jenkins 不再兼容。 这就是 systemctl 命令无法正常工作的原因。

问题是 yum 想要安装新版本的 /etc/init.d/jenkins。 但是因为我之前编辑过它。 新文件已安装在 /etc/init.d/jenkins.rpmnew 中,而 systemd 仍使用旧文件。 我所做的是将我的更改从旧的 /etc/init.d/jenkins 转移到新文件。 然后删除旧的/etc/init.d/jenkins,将/etc/init.d/jenkins.rpmnew重命名为/etc/init.d/jenkins并重启服务。

我们遇到了同样的问题......(在redhat 7上)

jenkins 的 jira 上存在同样的问题: https://issues.jenkins.io/browse/JENKINS-67334

好像关门了,但是不明白为什么...

我仍然不明白到底需要做什么:

“我遇到了完全相同的问题并修复它。问题来自您的/etc/init.d/jenkins。您可能修改它并且更新过程(rhel7上的yum)无法替换它。这个'旧文件'与新版本的 jenkins 不兼容。这就是 systemctl 命令无法正常工作的原因。

有人可以帮忙吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM