it-swarm.com.de

Erhöhen Sie das Anmeldezeitlimit von Jenkins

Kann jemand das Timeout-Fenster erhöhen, bevor Jenkins einen Benutzer abmeldet? Ich freue mich auf 1 Tag oder so.

Ich arbeite den ganzen Tag in Jenkins und wieder heraus und wir werden ständig zwischen den Jobs abgemeldet. Zusätzlich zu dieser Frustration scheint das Kontrollkästchen "Bleiben Sie angemeldet" auch nicht zu funktionieren.

63
Ray

Jenkins verwendet Jetty, und Jettys Standardzeitlimit beträgt 30 Minuten . Dies ist unabhängig von den Authentifizierungseinstellungen. Ich verwende Active Directory. Diese Einstellung wirkt sich jedoch auch auf Timeouts aus.

Sie können das Timeout überschreiben, indem Sie das Argument --sessionTimeout=<minutes> an das Jenkins-Init-Skript oder -DsessionTimeout=<minutes> an die WAR-Datei übergeben. Zum Beispiel:

# Set the session timeout to 1 week
$ Java -jar jenkins.war --sessionTimeout=10080

Alternativ können Sie Jenkins '<jenkinsHome>/.jenkins/war/WEB-INF/web.xml bearbeiten und explizit hinzufügen:

<session-config>
  <!-- one hour -->
  <session-timeout>60</session-timeout>
</session-config>

Gemäß Oracle-Dokumenten können Sie dies auf 0 setzen, um die Zeitüberschreitungen insgesamt zu deaktivieren.

Um den aktuellen Wert für Timeouts herauszufinden, können Sie die in Jenkins enthaltene Groovy-Konsole verwenden:

import org.kohsuke.stapler.Stapler;
Stapler.getCurrentRequest().getSession().getMaxInactiveInterval() / 60

In meiner Instanz zeigt dies Result: 30.

54
Wilfred Hughes

Ab 1.528 können Sie den Parameter --sessionTimeout <minutes> verwenden, wenn Sie jenkins über ein Init-Skript starten. Wenn Sie den Krieg beginnen, übergeben Sie -DsessionTimeout=<minutes>

Update für 1.6

Wenn Sie als Argument übergeben werden, verwenden Sie --sessionTimeout=<minutes>

11
cesar

Ab Jenkins Version 2.107.2 sollten Sie sessionEviction einschließen

Zum Beispiel, um Personen für 24 Stunden und 12 Stunden Inaktivität angemeldet zu lassen:

--sessionTimeout=1440 --sessionEviction=43200

Wenn Sie sessionEviction nicht angeben, werden Personen, die die Registerkarte schließen, nach 30 Minuten abgemeldet.

8
jhuffaker

es scheint auch möglich, es mit der grovy-Konsole einzustellen:

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

Aber ich denke, es wird nur für die aktuelle Sitzung verfügbar sein

6
Sven Keller

Diese Version von Jenkins 1.567 verfügt auch über die Option zum automatischen Aktualisieren, sodass die Sitzung irgendwie aktualisiert wird und ich nie abgemeldet werde. Für mich geht das... 

Für Ubuntu:

nano /etc/default/jenkins

An JENKINS_ARGS am Ende der Datei anhängen:

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

In meiner Linux-Distribution kann diese Einstellung zu/etc/sysconfig/jenkins hinzugefügt werden

# Pass arbitrary arguments to Jenkins.
# Full option list: Java -jar jenkins.war --help
#
JENKINS_ARGS="--sessionTimeout=480"

Anschließend mit neu starten

Sudo /etc/init.d/jenkins restart
0
Steve Jones