Featured image of post Jenkins 登录会话过期报404的解决方法(修改会话有效时长)

Jenkins 登录会话过期报404的解决方法(修改会话有效时长)

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

报错:

1
2
3
4
5
6
7
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

    1
    2
    3
    4
    5
    
    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

    1
    2
    3
    4
    5
    
    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

    1
    2
    3
    4
    5
    
    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-