有没有人知道如何在Jenkins注销用户之前增加超时窗口?我想把它提升到1天左右。
我整天都在jenkins工作,我们一直在工作之间退出。除此之外,“保持登录状态”复选框似乎也不起作用。
詹金斯使用Jetty和Jetty's default timeout is 30 minutes。这与身份验证设置无关 - 我使用Active Directory但它仍然会影响超时。
您可以通过将参数--sessionTimeout=<minutes>
传递给Jenkins init脚本或-DsessionTimeout=<minutes>
到.war文件来覆盖超时。例如:
# Set the session timeout to 1 week
$ java -jar jenkins.war --sessionTimeout=10080
或者,您可以编辑Jenkins的<jenkinsHome>/.jenkins/war/WEB-INF/web.xml
并添加显式设置:
<session-config>
<!-- one hour -->
<session-timeout>60</session-timeout>
</session-config>
根据Oracle's docs,您可以将其设置为0以完全禁用超时。
要查找超时的当前值,可以使用Jenkins中提供的Groovy控制台:
import org.kohsuke.stapler.Stapler;
Stapler.getCurrentRequest().getSession().getMaxInactiveInterval() / 60
在我的实例中,这显示了Result: 30
。
从Jenkins版本2.107.2开始,您将要包含sessionEviction
例如,要让人们在24小时和12小时不活动状态下登录:
--sessionTimeout=1440 --sessionEviction=43200
如果您未指定sessionEviction,则关闭该选项卡的人将在30分钟后退出。
从1.528开始,您可以在通过init脚本启动jenkins时使用--sessionTimeout <minutes>
参数。如果开始战争,请通过-DsessionTimeout=<minutes>
1.6的更新
如果作为arg传入使用--sessionTimeout=<minutes>
它似乎也可以使用groovy控制台设置它:
import org.kohsuke.stapler.Stapler;
Stapler.getCurrentRequest().getSession().setMaxInactiveInterval(TIME_IN_SECONDS)
但我想它只适用于本届会议
此版本的Jenkins 1.567还具有启用自动刷新选项,因此它以某种方式保持刷新会话,我永远不会注销。这个对我有用...
在我的Linux发行版上,可以将此设置添加到/ etc / sysconfig / jenkins
# Pass arbitrary arguments to Jenkins.
# Full option list: java -jar jenkins.war --help
#
JENKINS_ARGS="--sessionTimeout=480"
随后,重新启动
sudo /etc/init.d/jenkins restart
对于Ubuntu:
nano /etc/default/jenkins
附加到文件末尾的JENKINS_ARGS:
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --sessionTimeout=1440 --sessionEviction=43200"