Jenkins가 사용자를 로그 아웃하기 전에 시간 초과 창을 늘리는 방법을 아는 사람이 있습니까? 1 일 정도 올리려고합니다.
나는 하루 종일 젠킨스에서 일하고 일하며 작업을 실행하는 사이에 계속 로그 아웃됩니다. 이 좌절감에 더해 ‘로그인 상태 유지’확인란도 작동하지 않는 것 같습니다.
답변
Jenkins는 Jetty를 사용하고 Jetty의 기본 제한 시간은 30 분 입니다. 이것은 인증 설정과 무관합니다. Active Directory를 사용하지만 시간 제한에 영향을 미치는 것은 여전히이 설정입니다.
--sessionTimeout=<minutes>
Jenkins init 스크립트 또는 -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
.
답변
Jenkins 버전 2.107.2부터 sessionEviction을 포함하고 싶을 것입니다.
예를 들어 사용자가 24 시간 동안 12 시간 동안 활동하지 않는 동안 로그인 상태를 유지하려면 :
--sessionTimeout=1440 --sessionEviction=43200
sessionEviction을 지정하지 않으면 탭을 닫은 사람들은 30 분 후에 로그 아웃됩니다.
답변
1.528 --sessionTimeout <minutes>
부터는 init 스크립트를 통해 젠킨스를 시작할 때 매개 변수를 사용할 수 있습니다 . 전쟁을 시작한다면-DsessionTimeout=<minutes>
1.6 업데이트
인수로 전달하는 경우 --sessionTimeout=<minutes>
답변
그루비 콘솔을 사용하여 설정할 수도 있습니다.
import org.kohsuke.stapler.Stapler;
Stapler.getCurrentRequest().getSession().setMaxInactiveInterval(TIME_IN_SECONDS)
하지만 현재 세션에서만 사용할 수 있습니다.
답변
Ubuntu의 경우 :
nano /etc/default/jenkins
파일 끝에 JENKINS_ARGS 를 추가 합니다.
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --sessionTimeout=1440 --sessionEviction=43200"
답변
이 버전의 Jenkins 1.567에는 자동 새로 고침 활성화 옵션이 있으므로 어떻게 든 세션을 계속 새로 고치고 로그 아웃되지 않습니다. 그것은 나를 위해 작동합니다 …
답변
내 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