2015-04-10 4 views
26

मेरी कंपनी github पर हमारे भंडार में स्वचालित रूप से पुल अनुरोध बनाने के लिए travis-ci.org (ओपन सोर्स सॉफ़्टवेयर के लिए मुफ्त संस्करण) का उपयोग कर रही है। हमारे पास पूरे दिन एक ही रेपो में पुल अनुरोध सबमिट करने वाले लगभग 20 लोग हैं और इनमें से प्रत्येक एक मैट्रिक्स में बनाया गया है जिसमें प्रति बिल्ड दो बिल्ड जॉब्स शामिल हैं। हम अक्सर देखते हैं कि ट्रेविस में भेजे जाने के बाद एक बिल्ड शुरू होने के लिए कई मिनट लगते हैं-और कभी-कभी घंटे लगते हैं। (लक्षण: निर्माण ट्रेविस पर दिखाई देता है लेकिन टाइमर शुरू नहीं होता है और थोड़ी देर के लिए कोई कंसोल आउटपुट नहीं होता है।)travis-ci.org थ्रॉटल कैसे बनाता है?

मुझे लगता है कि ऐसा होता है क्योंकि travis-ci.org या तो बैक अप या थ्रॉटल बनाता है। सबसे पहले

  • क्या ट्रैविस जानबूझकर थ्रॉटल/रेट-सीमा बनाता है?

यदि हां, तो कैसे थ्रॉटल बनाया जाता है?

  • प्रति लॉगिन? (यानी प्रति github उपयोगकर्ता/संगठन, आदि)
  • प्रति रेपो?

Are

  • प्रति "बिल्ड" से रोक दिए बनाता है?
  • प्रति "नौकरी बनाएं"?

यह जानना हमें बाधाओं के भीतर हमारे निर्माण समय-समय पर समाप्त करने के लिए अनुकूलित करेगा-ci.org ने सेट किया है (जिसे उम्मीद है कि एक मुफ्त उपयोगकर्ता के रूप में अच्छा खेलने के साथ गठबंधन किया गया है)।

+0

क्या आपका मतलब है "ट्रिगर" जब आप "थ्रॉटल" कहते हैं? –

+0

वास्तव में, मुझे लगता है कि मैं थ्रॉटल के बजाए "कतारबद्ध" शब्द का उपयोग कर सकता हूं, लेकिन यह सवाल का एक प्रकार का हिस्सा है-ट्रैविस जानबूझकर थ्रॉटलिंग प्रक्रियाओं को बनाता है यदि हम एक साथ कई बार दौड़ते हैं (20 लोग पूरे दिन पीआर जमा करते हैं एक ही रेपो)? मैं प्रश्न –

+0

अद्यतन कर सकता हूं क्या यह खुला स्रोत बनाता है? मैंने कभी ट्रैविस को बनाने के लिए घंटों का समय नहीं लिया है। –

उत्तर

16

यदि आप ट्रेविस-सीआई स्थिति पृष्ठ (http://www.traviscistatus.com/) देखें तो आप देखेंगे कि "ओपन सोर्स प्रोजेक्ट्स के लिए सक्रिय लिनक्स बिल्ड" समय-समय पर अधिकतम हो जाता है। ट्रेविस प्राइवेट बिल्ड सिस्टम कैसे काम करता है (एक समय में चलने वाले एक्स से अधिक के साथ "जॉब्स बिल्ड" के लिए एक कतार), मुझे संदेह है कि उनके पास सभी ओपन सोर्स बिल्ड जॉब्स के लिए एक कतार है।

आप अपने निर्माण को कई नौकरियों में विभाजित कर सकते हैं, जिनमें से प्रत्येक तेजी से खत्म हो जाएगा। जब ट्रैविस हल्के उपयोग में है तो वे समानांतर में भाग लेंगे और आपका निर्माण जल्द ही वापस आ जाएगा, लेकिन जब ट्रैविस कई अन्य बिल्डों को चला रहा है तो आपका अनुक्रमिक रूप से चल सकता है।

आपके द्वारा पोस्ट किए गए रेपो में .travis.yml पर देखकर, आप एपीटी और पीपी कैशिंग (http://docs.travis-ci.com/user/caching/) जोड़कर अच्छे प्रदर्शन में वृद्धि देख सकते हैं। आपको ट्रैविस के नए कंटेनर-आधारित आधारभूत संरचना (http://docs.travis-ci.com/user/workers/container-based-infrastructure/) पर स्विच करने पर भी विचार करना चाहिए। यह केवल तभी काम करेगा यदि आप अपने निर्माण में sudo apt-get कमांड को प्रतिस्थापित करने में सक्षम हैं।

1

मैं व्यक्तिगत उपयोग के लिए ट्रैविस का उपयोग करता हूं और मेरे पास प्रति दिन बहुत कम बिल्ड हैं। निर्माण शुरू होने से पहले मैंने अक्सर कुछ मिनट की देरी देखी है, जो शायद सामान्य है। थोड़ा सा शोध करने के बाद, मुझे ट्रैविस सीमाओं के बारे में बहुत अच्छी संख्या नहीं मिल पाई, लेकिन उनके पास निश्चित रूप से कुछ (source) हैं। यह एक गिटहब मुद्दा है कि क्या वे प्रति परियोजना निर्माण को सीमित कर सकते हैं ताकि वे अपनी उपयोगकर्ता/कंपनी सीमा को जल्द से जल्द नहीं दबा सकें। इसका मतलब है कि कुछ सीमा लागू है। मुक्त संस्करण को "उचित उपयोग" के रूप में वर्णित किया गया है, इसलिए मुझे बिल्कुल यकीन नहीं है कि इसका क्या अर्थ है। यदि आपके निर्माण धीमे चल रहे हैं तो मैं speeding up the build देखता हूं ताकि आप अपनी सीमा को हिट करने से पहले उनमें से अधिकतर प्राप्त कर सकें।

क्षमा करें, मैं वास्तविक संख्या की पेशकश नहीं कर सकता, लेकिन आपको बिल्डों को अनुकूलित करने के लिए अपनी पूरी कोशिश करनी चाहिए। मुझे लगता है कि उनके पास कोई कठोर सीमा नहीं हो सकती है क्योंकि वे शायद अभी भी बढ़ रहे हैं और बदल रहे हैं कि उनके सिस्टम क्या संभाल सकते हैं।

कुछ संख्या मैंने पाया:

मैं सीमा संख्या के लिए लग रही है और मेरा उत्तर अद्यतन करने के लिए contine जाएगा यदि/जब मैं उन्हें ठीक करो।

3

ट्रेविस सीआई पर, सभी बिल्ड आपके कतार या भंडार से स्वतंत्र रूप से कतारबद्ध हैं।

इसके अलावा, यदि आपको ट्रैविस सीआई स्थिति इतिहास (यहां http://www.traviscistatus.com/history) पर एक नज़र डालें, तो आप देखेंगे कि उन्होंने 7 अप्रैल और 8 अप्रैल को आपके द्वारा वर्णित मुद्दे पर ध्यान दिया और जांच की। उन्होंने 9 अप्रैल (http://docs.travis-ci.com/user/build-environment-updates/2015-04-09/) पर अपने बिल्ड पर्यावरण का एक अद्यतन भी बनाया। अद्यतन के दौरान प्रक्रिया के लिए कतार बढ़ रही है और बाद में संसाधित की जानी चाहिए। चीजों का यह संयोजन शायद आपके द्वारा अनुभवी लंबी देरी की उत्पत्ति है।

मुझे आशा है कि यह आपकी मदद करेगा।

8

ट्रैविस-सीआई वर्तमान में ओपन सोर्स प्रोजेक्ट्स के लिए five concurrent builds प्रदान करता है, और यह प्रति गिटहब लॉगिन या संगठन, as the Apache Software Foundation discovered पर सभी रिपॉजिटरीज़ के खिलाफ गिना जाता है। ट्रैविस समवर्ती बिल्डों पर इस सीमा की ओर, सभी परियोजनाओं में, "अनुरोध नौकरी" की गणना करता है और अनुरोध खींचता है।

संबंधित मुद्दे