2011-08-29 8 views
8

मैं अपने एसवीएन रेपो से चुनाव के लिए जेनकिंस सेट अप करने की कोशिश कर रहा हूं, और जब भी यह पता चलता है कि एक प्रतिबद्धता का पता चला है तो एक नया निर्माण शुरू हो गया है। मुझे मतदान भाग मिल गया है, लेकिन इमारत बल्कि अति उत्साही है, और अभी यह चुनाव हर बार पुनर्निर्माण कर रही है - चाहे कोई बदलाव हो या नहीं। एससीएम-polling.log फ़ाइल में लिखा है:जेनकिंस पोल एसवीएन लगातार कोई नया काम नहीं करता है

Started on Aug 31, 2011 9:49:51 AM 
Workspace doesn't contain svn://10.64.147.118:/svn/repos/conttest/csa_test/trunk. Need a new build. 
Done. Took 10 ms 
Changes found 
जेनकींस से

कंसोल आउटपुट इस तरह दिखता है:

Started by an SCM change 
Checking out a fresh workspace because the workspace is not svn://10.64.147.118:/svn/repos/conttest/csa_test/trunk 
Cleaning workspace /var/lib/jenkins/jobs/CSATester/workspace 
Checking out svn://10.64.147.118:/svn/repos/conttest/csa_test/trunk 
.... 
no revision recorded for svn://10.64.147.118:/svn/repos/conttest/csa_test/trunk in the previous build 
No changesets found for this build 

रेपो यूआरएल SVN के लिए सेट है: //10.64.147.118:/SVN/रेपोस/conttest/trunk और मैंने जेनकिंस को विचलित फ़ाइलों को हटाने के लिए कहा है और फिर निर्माण से पहले अपडेट किया है। कार्य स्थान में निश्चित रूप से रेपो में फ़ाइलें शामिल होती हैं, और निर्माण हर बार सफल होता है।

इस पर कोई विचार क्या हो सकता है?

+0

अब भी यही समस्या है।हडसन समय पर भंडार का चुनाव करता है, हालांकि यह हर बार कोई बदलाव के बावजूद बनाता है। यह डिफ़ॉल्ट सेटिंग कैसे हो सकती है? – Jonny

उत्तर

3

तो, मुझे पता चला है कि ऐसा लगता है कि यह svn: // प्रोटोकॉल या तो जेनकींस या एसवीएन प्लगइन में समर्थित नहीं है। Http: // का उपयोग करने के लिए मेरे एसवीएन सर्वर को बदलने के बाद और जेनकींस में उस नए पथ को सेट करने के बाद, निर्माण तब तक नहीं हो रहा है जब तक कि वास्तव में कोई नई प्रतिबद्धता न हो।

टीएल, डीआर: svn: // का उपयोग न करें, इसके बजाय http: // का उपयोग करें।

1

मुझे यकीन नहीं है कि इसका क्या कारण है, लेकिन मुझे अतीत में एससीएम मतदान के साथ बहुत सारे मुद्दे हैं। मैंने पाया है कि यह एक एसवीएन पोस्ट-ट्रिगर ट्रिगर लिखने के लिए बेहतर काम करता है जो इसे ट्रिगर करने के लिए निर्माण के यूआरएल को हिट करता है। यह मतदान के ऊपरी हिस्से को समाप्त करता है और यदि कोई बदलाव नहीं होता है तो कभी भी निर्माण को ट्रिगर नहीं करेगा। अगर आप फैंसी प्राप्त करना चाहते हैं, तो आप ट्रिगर को 'स्मार्ट' भी बना सकते हैं और readme.txt जैसी फाइलों के बदलावों पर संकलन से बच सकते हैं।

+0

हाँ, मैंने उस दृष्टिकोण के बारे में सोचा था, लेकिन मैं वास्तव में इसे लागू नहीं करना चाहता था, क्योंकि मैं यह नहीं मानना ​​चाहता था कि एसवीएन रेपो में प्रत्येक परियोजना जेनकींस में एक समान निर्माण करे (हां, मैं संशोधित कर सकता हूं कुछ परियोजनाओं पर केवल काम करने के लिए पोस्ट-प्रतिबद्धता, लेकिन फिर जब भी मैं जेनकिंस को प्रबंधित करना चाहता था, तब मुझे इसे फिर से बदलना होगा)। लेकिन, जब तक कि मुझे मतदान ठीक से काम नहीं मिल जाता है, तब तक पोस्ट-प्रतिबद्ध एकमात्र अन्य तरीका है जिसे मैं जाने के बारे में सोच सकता हूं। – lightstrike

+0

यह पता चला है कि मेरी समस्या का उत्तर मेरे रेपो के स्थान पर जेनकींस में http: // प्रोटोकॉल का उपयोग करना था। जाहिर है यह svn: // प्रोटोकॉल का समर्थन नहीं करता है। सब कुछ उस बदलाव के साथ अब काम करता है। – lightstrike

0

यह एसवीएन प्लगइन के साथ एक मुद्दा हो सकता है। यहां देखें Issue 10222

1

हमारे पास सीवीएस के साथ एक ही समस्या थी जहां सीवीएस मतदान में बदलाव के लिए मतदान के समय से अधिक समय लगा। यही है, बदलावों के लिए चुनाव में सीवीएस को तीन मिनट लगेंगे, लेकिन मैं इसे हर मिनट मतदान के लिए कह रहा था। यद्यपि यह सबवर्सन के साथ कोई मुद्दा नहीं होना चाहिए।

आप हुक करने के रूप में Feasoron कहा एक पोस्ट का उपयोग कर सकते है, लेकिन वहाँ है कि दृष्टिकोण के साथ दो मुद्दे हैं:

  • तो जेनकींस/हडसन नीचे है जब ट्रिगर मारा जाता है, जेनकींस/हडसन एक काम नहीं चलेगा निर्माण।
  • यदि जेनकिन्स/हडसन सर्वर (यहां तक ​​कि केवल कुछ सेकंड) के बीच कोई समय अंतर है, तो आप जेनकिंस/हडसन के साथ पुराने भंडार के संस्करण के निर्माण के साथ समाप्त हो सकते हैं।

अधिकांश लोगों में जेनकींस/हडसन में सबवर्जन मतदान होता है और इन मुद्दों में कोई समस्या नहीं होती है, इसलिए शायद यह आपके सेटअप में कुछ से संबंधित है।

प्रत्येक बिल्ड के लिए मतदान लॉग पर नज़र डालें और देखें कि जेनकिंस/हडसन का मानना ​​है कि यह एक अपडेट (वेबपृष्ठ के बाईं ओर एक लिंक के रूप में प्रत्येक निर्माण में उपलब्ध) क्यों देखता है। अपने निर्माण कंसोल की पहली कुछ पंक्तियों को भी देखें और देखें कि क्या यह किसी भी सुराग की पेशकश कर रहा है।

यदि आप अभी भी इसे समझ नहीं सकते हैं, तो अपने प्रश्न को कुछ मतदान लॉग के साथ अपडेट करें और इससे हमें यह समझने में सहायता मिल सकती है कि आपको इन मुद्दों का सामना क्यों करना है।

+0

समय अंतर वास्तव में आपके हुक पर निर्भर करता है - हम संशोधन संख्या को जेनकिंस में पास करते हैं, और यह उस संशोधन को बनाता है। मुझे लगता है कि यह मुश्किल है यदि आप कोड प्राप्त करने के लिए एससीएम में बने जेनकींस का उपयोग कर रहे हैं, लेकिन यह संभव है। – Feasoron

+0

@ डेविड - मुझे समाधान मिला है, जाहिर है svn: // प्रोटोकॉल समर्थित नहीं है, क्योंकि मैंने अपना एसवीएन सर्वर और जेनकिंस को http: // चीजों का उपयोग करने के लिए बदल दिया है, उन्हें काम करने के लिए काम किया है। सहायता के लिए धन्यवाद। – lightstrike

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