有谁知道在詹金斯注销用户之前如何增加超时窗口?我希望将其提高到1天左右。
我整天都在詹金斯工作,我们在两次工作之间一直注销。令人沮丧的是,“保持登录状态”复选框似乎也不起作用。
有谁知道在詹金斯注销用户之前如何增加超时窗口?我希望将其提高到1天左右。
我整天都在詹金斯工作,我们在两次工作之间一直注销。令人沮丧的是,“保持登录状态”复选框似乎也不起作用。
Answers:
Jenkins使用Jetty,Jetty的默认超时为30分钟。这与身份验证设置无关-我使用的是Active Directory,但仍然是影响超时的设置。
您可以通过将参数传递--sessionTimeout=<minutes>
给Jenkins初始化脚本或-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的文档,您可以将其设置为0以完全禁用超时。
要找出超时的当前值,可以使用Jenkins中提供的Groovy控制台:
import org.kohsuke.stapler.Stapler;
Stapler.getCurrentRequest().getSession().getMaxInactiveInterval() / 60
在我的实例中,显示为Result: 30
。
--sessionTimeout=<minutes>
(请注意等号)。
WEB-INF
目录在哪里?
从Jenkins 2.107.2版开始,您需要包含sessionEviction
例如,让人们保持24小时和12小时不活动状态的登录状态:
--sessionTimeout=1440 --sessionEviction=43200
如果您未指定sessionEviction,则关闭选项卡的人将在30分钟后注销。
sessionTimeout
可以使用groovy控制台检查电流Stapler.getCurrentRequest().getSession().getMaxInactiveInterval() / 60
。您知道如何sessionEviction
在groovy控制台中获取/设置吗?
--sessionEviction
直到现在我才从没发现过这种争论。
--sessionTimeout <minutes>
从1.528开始,您可以在通过init脚本启动jenkins时使用该参数。如果发动战争,请传递-DsessionTimeout=<minutes>
更新1.6
如果以arg形式传入 --sessionTimeout=<minutes>
-DsessionTimeout=600
--sessionTimeout=<minutes>
(请注意等号)。
Usage: java -jar jenkins.war [--option=value] [--option=value]
谢谢!
使用groovy控制台似乎也可以设置它:
import org.kohsuke.stapler.Stapler;
Stapler.getCurrentRequest().getSession().setMaxInactiveInterval(TIME_IN_SECONDS)
但我想它将仅适用于当前会议
此版本的Jenkins 1.567还具有启用自动刷新选项,因此它以某种方式不断刷新会话,并且我从未注销。这个对我有用...