Est-ce que quelqu'un sait comment augmenter le délai d'attente avant que Jenkins ne déconnecte un utilisateur? Je cherche à l'élever à 1 jour ou à peu près.
Je travaille dans et hors de Jenkins toute la journée et nous continuons à nous déconnecter entre les travaux. Ajouté à cette frustration, la case à cocher "rester connecté" ne semble pas fonctionner non plus.
Jenkins utilise Jetty et Le délai d'attente par défaut de Jetty est de 30 minutes . Ceci est indépendant des paramètres d'authentification - j'utilise Active Directory, mais c'est toujours ce paramètre qui affecte les délais d'expiration.
Vous pouvez remplacer le délai en transmettant un argument --sessionTimeout=<minutes>
au script d'initialisation Jenkins ou -DsessionTimeout=<minutes>
au fichier .war. Par exemple:
# Set the session timeout to 1 week
$ Java -jar jenkins.war --sessionTimeout=10080
Alternativement, vous pouvez éditer le <jenkinsHome>/.jenkins/war/WEB-INF/web.xml
de Jenkins et ajouter explicitement le définir:
<session-config>
<!-- one hour -->
<session-timeout>60</session-timeout>
</session-config>
Selon la documentation d'Oracle , vous pouvez définir cette valeur sur 0 pour désactiver complètement les délais.
Pour connaître la valeur actuelle des délais d'expiration, vous pouvez utiliser la console Groovy fournie dans Jenkins:
import org.kohsuke.stapler.Stapler;
Stapler.getCurrentRequest().getSession().getMaxInactiveInterval() / 60
Sur mon exemple, cela montre Result: 30
.
À partir de 1.528, vous pouvez utiliser le paramètre --sessionTimeout <minutes>
lors du démarrage de jenkins via un script init. Si vous commencez la guerre, passez -DsessionTimeout=<minutes>
Mise à jour pour 1.6
Si vous passez comme argument, utilisez --sessionTimeout=<minutes>
À partir de la version 2.107.2 de Jenkins, vous voudrez inclure sessionEviction
Par exemple, pour garder les utilisateurs connectés pendant 24 heures et 12 heures d’inactivité:
--sessionTimeout=1440 --sessionEviction=43200
Si vous ne spécifiez pas sessionEviction, les personnes qui ferment l'onglet seront déconnectées au bout de 30 minutes.
il semble également possible de le configurer en utilisant la console Grovy:
import org.kohsuke.stapler.Stapler;
Stapler.getCurrentRequest().getSession().setMaxInactiveInterval(TIME_IN_SECONDS)
Mais je suppose qu'il ne sera disponible que pour la session en cours
Cette version de Jenkins 1.567 dispose également de l'option d'activation de l'actualisation automatique. Elle actualise donc en permanence la session et ne me déconnecte jamais. Ça marche pour moi...
Pour Ubuntu:
nano /etc/default/jenkins
Ajouter à JENKINS_ARGS à la fin du fichier:
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --sessionTimeout=1440 --sessionEviction=43200"
Sur ma distribution Linux, ce paramètre peut être ajouté à/etc/sysconfig/jenkins
# Pass arbitrary arguments to Jenkins.
# Full option list: Java -jar jenkins.war --help
#
JENKINS_ARGS="--sessionTimeout=480"
Par la suite, redémarrez avec
Sudo /etc/init.d/jenkins restart