You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Jenkins至2.440.3后无法通过systemctl启动问题求助

问题:Jenkins升级至2.440.3后无法通过systemctl启动(Ubuntu + JDK11)

在Ubuntu机器上安装JDK11后,将Jenkins升级至2.440.3,出现无法通过systemctl启动的问题,相关错误日志如下:

Jun 26 13:09:40 jenkins-sandpit-instance-group-2-tpmd systemd[1]: jenkins.service: Service RestartSec=100ms expired, schedulin
Jun 26 13:09:40 jenkins-sandpit-instance-group-2-tpmd systemd[1]: jenkins.service: Scheduled restart job, restart counter is a
Jun 26 13:09:40 jenkins-sandpit-instance-group-2-tpmd systemd[1]: Stopped My Company Jenkins Controller.
Jun 26 13:09:40 jenkins-sandpit-instance-group-2-tpmd systemd[1]: jenkins.service: Start request repeated too quickly.
Jun 26 13:09:40 jenkins-sandpit-instance-group-2-tpmd systemd[1]: jenkins.service: Failed with result 'exit-code'

Systemctl单元配置如下:

# value such as "5min 20s". Pass "infinity" to disable the timeout logic.
#TimeoutStartSec=90

# Unix account that runs the Jenkins daemon
# Be careful when you change this, as you need to update the permissions of
# $JENKINS_HOME, $JENKINS_LOG, and (if you have already run Jenkins)
# $JENKINS_WEBROOT.
User=jenkins
Group=jenkins

# Directory where Jenkins stores its configuration and workspaces
Environment="JENKINS_HOME=/var/lib/jenkins"
WorkingDirectory=/var/lib/jenkins

# Location of the Jenkins WAR
Environment="JENKINS_WAR=/usr/share/java/jenkins.war"

# Location of the exploded WAR
#Environment="JENKINS_WEBROOT=%C/jenkins/war"

# Location of the Jenkins log. By default, systemd-journald(8) is used.
Environment="JENKINS_LOG=%L/jenkins/jenkins.log"

# The Java home directory. When left empty, JENKINS_JAVA_CMD and PATH are consulted.
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"

# The Java executable. When left empty, JAVA_HOME and PATH are consulted.
#Environment="JENKINS_JAVA_CMD=/etc/alternatives/java"

排查与解决步骤

  • 查看Jenkins详细启动日志
    systemd日志仅提示重启过快,需获取Jenkins自身的启动细节:

    journalctl -u jenkins.service -f --no-pager
    

    或直接查看Jenkins日志文件:

    cat /var/log/jenkins/jenkins.log
    

    日志会明确显示失败原因,比如依赖缺失、配置错误、权限不足等。

  • 验证JDK配置与权限
    Jenkins 2.440.3兼容JDK11,但需确保jenkins用户能正常访问JDK:

    su - jenkins -c "$JAVA_HOME/bin/java -version"
    

    若输出异常,检查JDK目录权限:

    chmod -R 755 /usr/lib/jvm/java-11-openjdk-amd64
    
  • 修复文件与目录权限
    升级过程可能导致权限变更,确保jenkins用户拥有以下路径的完整权限:

    chown -R jenkins:jenkins /var/lib/jenkins
    chown jenkins:jenkins /usr/share/java/jenkins.war
    chown -R jenkins:jenkins /var/log/jenkins
    
  • 调整systemd启动超时
    默认启动超时可能不足,取消TimeoutStartSec注释并延长时间:
    修改systemd单元配置,设置:

    TimeoutStartSec=300
    

    然后重新加载配置并重启:

    systemctl daemon-reload
    systemctl restart jenkins
    
  • 排查插件兼容性问题
    旧插件可能与新版本Jenkins冲突,临时禁用所有插件测试启动:

    1. 停止服务:
      systemctl stop jenkins
      
    2. 在systemd配置中添加启动参数:
      Environment="JENKINS_OPTS=--disable-all-plugins"
      
    3. 重新加载配置并启动:
      systemctl daemon-reload && systemctl start jenkins
      

    若启动成功,说明是插件问题,需逐一更新或卸载冲突插件。

  • 重新下载Jenkins WAR文件
    若WAR文件损坏,重新下载官方稳定版替换:

    wget -O /usr/share/java/jenkins.war https://get.jenkins.io/war-stable/2.440.3/jenkins.war
    chown jenkins:jenkins /usr/share/java/jenkins.war
    systemctl restart jenkins
    

内容的提问来源于stack exchange,提问作者Deepak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 19:35:00