Czy ktoś wie, jak zwiększyć limit czasu, zanim Jenkins wyloguje użytkownika? Chcę go podnieść do 1 dnia lub więcej.
Pracuję w Jenkinsie przez cały dzień i ciągle wylogowuję się między kolejnymi pracami. Co więcej, pole wyboru „pozostań zalogowany” również nie działa.
Odpowiedzi:
Jenkins używa Jetty, a domyślny limit czasu Jetty to 30 minut . Jest to niezależne od ustawień uwierzytelniania - używam usługi Active Directory, ale nadal to ustawienie wpływa na limity czasu.
Limit czasu można zmienić, przekazując argument
--sessionTimeout=<minutes>
do skryptu inicjującego Jenkins lub-DsessionTimeout=<minutes>
do pliku .war. Na przykład:Alternatywnie możesz edytować Jenkinsa
<jenkinsHome>/.jenkins/war/WEB-INF/web.xml
i dodać jawnie go ustawić:<session-config> <!-- one hour --> <session-timeout>60</session-timeout> </session-config>
Zgodnie z dokumentacją Oracle można ustawić to na 0, aby całkowicie wyłączyć limity czasu.
Aby poznać aktualną wartość limitów czasu, możesz użyć konsoli Groovy dostarczonej w Jenkins:
import org.kohsuke.stapler.Stapler; Stapler.getCurrentRequest().getSession().getMaxInactiveInterval() / 60
W moim przypadku to widać
Result: 30
.źródło
--sessionTimeout=<minutes>
(zwróć uwagę na znak równości).WEB-INF
katalog?Od wersji Jenkins 2.107.2 będziesz chciał dołączyć sessionEviction
Na przykład, aby utrzymać ludzi zalogowanych przez 24 godziny i 12 godzin bezczynności:
Jeśli nie określisz sessionEviction, osoby, które zamkną kartę, zostaną wylogowane po 30 minutach.
źródło
sessionTimeout
można sprawdzić w groovy konsoli za pomocąStapler.getCurrentRequest().getSession().getMaxInactiveInterval() / 60
. Czy wiesz, jak uzyskać / ustawićsessionEviction
w groovy konsoli?--sessionEviction
argument.Od wersji 1.528 możesz używać tego
--sessionTimeout <minutes>
parametru podczas uruchamiania jenkinsa za pomocą skryptu init. Jeśli zaczynasz wojnę, podaj-DsessionTimeout=<minutes>
Aktualizacja do wersji 1.6.0
Jeśli przekazujesz jako argument, użyj
--sessionTimeout=<minutes>
źródło
-DsessionTimeout=600
--sessionTimeout=<minutes>
(zwróć uwagę na znak równości).Usage: java -jar jenkins.war [--option=value] [--option=value]
dzięki!wydaje się również możliwe ustawienie tego za pomocą groovy konsoli:
Ale myślę, że będzie dostępny tylko dla bieżącej sesji
źródło
W przypadku Ubuntu:
Dołącz do JENKINS_ARGS na końcu pliku:
źródło
Ta wersja Jenkinsa 1.567 ma również opcję włączania automatycznego odświeżania, więc w jakiś sposób odświeża sesję i nigdy się nie wylogowuję. Mi to pasuje...
źródło
W mojej dystrybucji Linuksa to ustawienie można dodać do / etc / sysconfig / jenkins
Następnie uruchom ponownie za pomocą
źródło
Jeśli Jenkins działa jako usługa Windows (
jenkins.exe
), parametry można edytować wjenkins.xml
katalogu instalacyjnym.źródło