同事反馈Jenkins点击构建经常会报404,看了日志没发现啥问题,沟通一番后发现是登录会话过期需要重新登录。
遂将会话有效时长更改,解决之。

报错:

HTTP ERROR 404 Not Found
URL:/view/xxxx/xxxxx
STATUS:404
MESSAGE:Not Found
SERVLET:Stapler
----
Powered by Jetty://9.4.33.v20201020

一、yum安装方式的修改方法:

2.107.2版本之后的Jenkins

在stackoverflow上得知,2.107.2需要添加启动参数。

  1. 在jenkins主配置文件中添加启动参数
    yum方式安装的Jenkins 默认配置文件路径 /etc/sysconfig/jenkins
    *其他安装方式视实际路径修改
    vim /etc/sysconfig/jenkins

    JENKINS_ARGS="--sessionTimeout=1440 --sessionEviction=43200"
    #其中1440(60*24)为超时分钟数,即24小时;43200(60*24*30) 为session驱逐分钟数,即30天
    
    #此变量中可以定义其他参数,例如:
    #JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --sessionTimeout=1440 --sessionEviction=43200" 
  2. 重启Jenkins
    systemctl restart jenkins

2.107.2版本之前的Jenkins:

注意:此方式只对2.107.2版本之前的Jenkins有效。

  1. 修改 /var/cache/jenkins/war/WEB-INF/web.xml文件
    *此为yum方式安装的jenkins的默认路径,其他安装方式视实际路径
    vim /var/cache/jenkins/war/WEB-INF/web.xml
    增加以下内容,然后重启jenkins

    vim /var/cache/jenkins/war/WEB-INF/web.xml
    <session-config>
      <!-- 4 hour -->
      <session-timeout>240</session-timeout>
    </session-config>
  2. systemctl restart jenkins

二、其他安装方式的修改方法

其他方式安装的Jenkins,可以通过查看Jenkins的systemd.unit查找配置文件(JENKINS_CONFIG变量)的具体路径
若未将Jenkins管理写入systemd.unit,请直接查找Jenkins配置文件进行修改

  1. 查找jenkins的systemd.unit
    find / -name jenkins.service
    img
  2. 查看jenkins.service以查找启动脚本路径
    vim /run/systemd/generator.late/jenkins.service
    img
  3. 查看启动脚本以查找配置文件路径
    vim /etc/rc.d/init.d/jenkins
    img
  4. 找到配置文件并编辑,添加启动参数:
    vim /etc/sysconfig/jenkins

    JENKINS_ARGS="--sessionTimeout=1440 --sessionEviction=43200"
    #其中1440(60*24)为超时分钟数,即24小时;43200(60*24*30) 为session驱逐分钟数,即30天
    
    #此变量中可以定义其他参数,例如:
    #JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --sessionTimeout=1440 --sessionEviction=43200" 
  5. 重启Jenkins
    systemctl restart jenkins

-EOF-

最后修改:2021 年 07 月 24 日
如果觉得我的文章对你有用,请随意赞赏