有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

hudson增加Jenkins登录超时

有人知道如何在Jenkins注销用户之前增加超时窗口吗?我想把它提高到1天左右

我一整天都在詹金斯家来回工作,我们在工作之间不断注销。除此之外,“保持登录”复选框似乎也不起作用


共 (6) 个答案

  1. # 1 楼答案

    詹金斯使用码头和Jetty's default timeout is 30 minutes。这与身份验证设置无关——我使用Active Directory,但仍然是这个设置影响超时

    可以通过将参数--sessionTimeout=<minutes>传递给Jenkins init脚本或-DsessionTimeout=<minutes>传递给。战争档案。例如:

    # 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

  2. # 2 楼答案

    在我的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
    
  3. # 3 楼答案

    似乎还可以使用groovy控制台进行设置:

    import org.kohsuke.stapler.Stapler;
    Stapler.getCurrentRequest().getSession().setMaxInactiveInterval(TIME_IN_SECONDS)
    

    但我想它只在本届会议上可用

  4. # 4 楼答案

    从Jenkins 2.107.2版开始,您将希望包括SessioneVictotion

    例如,要让用户登录24小时和12小时不活动:

    --sessionTimeout=1440 --sessionEviction=43200
    

    如果不指定SessionViction,关闭该选项卡的用户将在30分钟后注销

  5. # 5 楼答案

    从1.528开始,通过初始化脚本启动jenkins时,可以使用--sessionTimeout <minutes>参数。如果发动战争,请把-DsessionTimeout=<minutes>

    1.6版本的更新

    如果以arg形式传入,请使用--sessionTimeout=<minutes>

  6. # 6 楼答案

    对于Ubuntu:

    nano /etc/default/jenkins
    

    附加到文件末尾的JENKINS_ARGS:

    JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --sessionTimeout=1440 --sessionEviction=43200"