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.
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
.
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>
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.
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
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"
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