जेनकिंस लॉगिन टाइमआउट बढ़ाएं


84

क्या किसी को पता है कि जेनकींस के उपयोगकर्ता द्वारा लॉग आउट करने से पहले टाइमआउट विंडो को कैसे बढ़ाया जाए? मैं इसे 1 दिन के लिए बढ़ा रहा हूं।

मैं पूरे दिन जेनकींस में और बाहर काम करता हूं और हम नौकरियों की दौड़ के बीच लॉग आउट होते रहते हैं। इस हताशा में जोड़ा गया है, 'लॉग इन' चेकबॉक्स में काम नहीं करता है।


जेनकींस का क्या संस्करण? लॉगिन कुकीज़ से संबंधित जेनकिंस बग था: मुद्दोंJenkins-ci.org/browse/JENKINS27278 । यहां तक ​​कि अगर यह आपके संस्करण पर लागू नहीं है, तो उस बग में समस्या निवारण टिप्पणियों के माध्यम से पढ़ने लायक है। वह बग यह भी नोट करता है कि डिफ़ॉल्ट लॉगिन कुकी टाइमआउट 14 दिन है।
डेव बाकर

@DaveBacher हम v1.567 चला रहे हैं और निश्चित रूप से लॉगिन के 14 दिन नहीं मिल रहे हैं :)
Ray

@DaveBacher मैंने क्रोम क्लाइंट और फायरफॉक्स में 10 मिनट तक लॉग इन करने के बाद ब्राउजर क्लाइंट की त्वरित मार के साथ मुझे याद किया और यह काम करता है, इसलिए मुझे लगता है कि लॉगआउट मुझे याद करने के लिए मजबूर कर रहा है और तोड़ रहा है।
रे

जवाबों:


71

जेनकिन्स जेट्टी का उपयोग करता है, और जेट्टी का डिफ़ॉल्ट समय 30 मिनट है । यह प्रमाणीकरण सेटिंग्स से स्वतंत्र है - मैं सक्रिय निर्देशिका का उपयोग करता हूं लेकिन यह अभी भी यह सेटिंग है जो टाइमआउट को प्रभावित करती है।

आप --sessionTimeout=<minutes>जेनकिंस init स्क्रिप्ट, या -DsessionTimeout=<minutes>.war फ़ाइल पर एक तर्क पास करके टाइमआउट को ओवरराइड कर सकते हैं । उदाहरण के लिए:

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

वैकल्पिक रूप से, आप जेनकिंस को संपादित कर सकते हैं <jenkinsHome>/.jenkins/war/WEB-INF/web.xmlऔर इसे स्पष्ट रूप से सेट कर सकते हैं:

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

ओरेकल के डॉक्स के अनुसार आप इसे पूरी तरह से टाइमआउट को अक्षम करने के लिए 0 पर सेट कर सकते हैं।

टाइमआउट के वर्तमान मूल्य का पता लगाने के लिए, आप जेनकिन्स में दिए गए ग्रूवी कंसोल का उपयोग कर सकते हैं:

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

मेरे उदाहरण पर, यह दिखाता है Result: 30


2
तर्क की तरह लगता है --sessionTimeout=<minutes>(समान चिह्न पर ध्यान दें)।
रोब I

3
जहां है WEB-INFनिर्देशिका?
बुकाबाज़ौआ

4
@bubakazouba मेरे डेबियन सिस्टम पर, यह / var / cache / jenkins / war / में है। विंडोज 7 पर, यह C: \ Program Files (x86) \ Jenkins \ war \ में है
सर जेन

2
मैं DsessionTimeout काम करने में सक्षम नहीं था, लेकिन सेशनटाइमआउट काम कर रहा था।
एलिय्याह लिन

1
जेनकिंस 2.107.2 के रूप में, इस मूल्य को अकेले सेट करना पर्याप्त नहीं है। कृपया इस प्रश्न पर @ ज़फ़र टिप्पणी की जाँच करें।
फॉलस्ट

29

जेनकिंस संस्करण 2.107.2 के रूप में आप सेशन को शामिल करना चाहते हैं

उदाहरण के लिए 24 घंटे और 12 घंटे की निष्क्रियता के लिए लोगों को लॉग इन रखें:

--sessionTimeout=1440 --sessionEviction=43200

यदि आप सत्रांक निर्दिष्ट नहीं करते हैं, तो टैब बंद करने वाले लोग 30 मिनट के बाद लॉग आउट हो जाएंगे।


2
करंट sessionTimeoutको ग्रूवी कंसोल में चेक किया जा सकता है Stapler.getCurrentRequest().getSession().getMaxInactiveInterval() / 60। क्या आप जानते हैं कि sessionEvictionग्रूवी कंसोल में कैसे प्राप्त / सेट किया जाता है?
विम

10
आप इस तरह निष्कासन निष्क्रिय समय की पुष्टि कर सकते हैं: आयात org.kohsuke.stapler.Stapler; sess = Stapler.getCurrentRequest ()। getSession (); प्रिंटफ ("सेशनटाइमआउट:% d सेकंड \ n", sess.getMaxInactiveInterval ()); printf ("sessionEviction:% d सेकंड \ n", sess.getSessionHandler ()। getSessionCache ()। getEvictionPolicy ());
कर्मशाही

3
धन्यवाद! यह मुझे एक साल से अधिक समय से परेशान कर रहा है और मैं --sessionEvictionअब तक इस तर्क पर नहीं टिक पाया हूं ।
अमीर

बिल्कुल सही, यह बताता है कि सत्र-टाइमआउट कुछ भी खुद से नहीं लगता है।
अंदर क्लॉउ

12

1.528 तक आप --sessionTimeout <minutes>एक इनिट स्क्रिप्ट के माध्यम से जेनकिंस को शुरू करते समय पैरामीटर का उपयोग कर सकते हैं । यदि युद्ध शुरू हो रहा है, तो पास करें-DsessionTimeout=<minutes>

1.6 के लिए अद्यतन

यदि एक arg उपयोग के रूप में गुजर रहा है --sessionTimeout=<minutes>


यह मेरी जेनकिंस प्रक्रिया है। लेकिन अभी भी यह 10 मिनट से कम समय के लिए है। क्या गलत है? "java -Dcom.sun.akuma.Daemon = daemonized -Djava.awt.headless = true -Xmx6144m -Xms2048m -XX: MaxPermSize = 512m -XX: + CMSClassUnloadingEnabled -XX: + UseConcMarkSwebweb.co.in निर्यात / जेनकिन्स -जर /usr/lib/jenkins/jenkins.war --logfile = / var / log / jenkins / jenkins.log --webroot = / var / cache / jenkins / वारदात --daemon --httpPort = 80 - -ajp13Port = 8009 --debug = 5 --handlerCountMax = 100 --handlerCountMaxIdle = 20 --sessionTimeout = 600 -Dorg.kohsuke.stapler.compression.CompressionFilter.disabled = true "
Baskar

लगता है कि आप युद्ध शुरू कर रहे हैं। में पास होने की कोशिश करें-DsessionTimeout=600
सीज़र

2
जेनकींस 1.6 के तर्क की तरह लगता है --sessionTimeout=<minutes>(समान चिह्न पर ध्यान दें)।
रोब I

1
हां, आप सही हैं। 1.628 के लिए उपयोग Usage: java -jar jenkins.war [--option=value] [--option=value]धन्यवाद दिखा रहा है !
सीज़र

11

ग्रूवी कंसोल का उपयोग करके इसे सेट करना भी संभव लगता है:

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

लेकिन मुझे लगता है कि यह केवल वर्तमान सत्र के लिए उपलब्ध होगा


1
मैंने इस दृष्टिकोण का उपयोग किया और अपने वर्तमान सत्र के लिए सत्र टाइमआउट को अक्षम करने की विधि में शून्य उत्तीर्ण किया।
jstricker

इसने वर्तमान सत्र के लिए बहुत अच्छा काम किया। क्या ग्रूवी कंसोल का उपयोग करके सभी सत्रों के लिए इन सेटिंग्स को बदलने का एक तरीका है?
यूरी ब्रोवमैन

8

उबंटू के लिए:

nano /etc/default/jenkins

फ़ाइल के अंत में JENKINS_ARGS में आवेदन करें :

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

1
बहुत बढ़िया, एकमात्र उत्तर मैंने इस विषय पर देखा कि यह भी कहना है कि उन मापदंडों को कहां लागू किया जाना है। इसे ऊपर @ kaehashi के कोड से सत्यापित किया जा सकता है।
अंदर

4

जेनकिंस 1.567 के इस संस्करण में ऑटो रिफ्रेश विकल्प भी सक्षम है, इसलिए यह किसी भी तरह सत्र को ताज़ा करता रहता है और मैं कभी भी लॉग आउट नहीं होता। इससे मेरा काम बनता है...


3

मेरे लिनक्स डिस्ट्रो पर, यह सेटिंग / 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

0

यदि जेनकिंस विंडोज सेवा ( jenkins.exe) के रूप में चल रहा है , jenkins.xmlतो इंस्टॉलेशन डायरेक्टरी में मापदंडों को संपादित किया जा सकता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.