2009-07-21 13 views
7

हमारे पास एक एसवीएन भंडार बाहरी रूप से होस्ट किया गया है और हमारा बिल्ड सर्वर वर्तमान में आंतरिक है। कभी-कभी (शायद दिन में 1 या 2 बार) बिल्ड सर्वर नेटवर्क आउटेज, टाइमआउट या कुछ अन्य यादृच्छिक कारणों के कारण एसवीएन रिपॉजिटरी को खोजने में असमर्थ है। बाहरी रूप से होस्ट किए गए भंडार के साथ यह बचाना मुश्किल है, हालांकि जब यह एसवीएन भंडार को खोजने में विफल रहता है तो यह निर्माण में विफल रहता है!क्रूज़ कंट्रोल.NET बिल्ड विफल रहता है जब एसवीएन उपलब्ध नहीं है

मैं अगले अंतराल पर फिर कोशिश करने के लिए एक रास्ता खोजना चाहता हूं और एक अबाध भंडार से संबंधित किसी भी त्रुटि को अनदेखा करना चाहता हूं। क्या कोई जानता है मैं ऐसा कैसे कर सकता हूँ?

मैंने नीचे संदर्भ के लिए अपनी कॉन्फ़िगरेशन पोस्ट की है।

<project name="MyProject" queuePriority="0"> 
<workingDirectory>C:\RemovedForPost</workingDirectory> 
<artifactDirectory>C:\RemovedForPost </artifactDirectory> 
<sourcecontrol type="svn"> 
    <trunkUrl>http://RemovedForPost \</trunkUrl> 
    <workingDirectory>source</workingDirectory> 
    <username>myuser</username> 
    <password>*****</password> 
</sourcecontrol> 
<triggers> 
    <intervalTrigger name="BuildAMinute" seconds="60" buildCondition="IfModificationExists" /> 
</triggers> 
<tasks> 
    <msbuild> 
    <executable>C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable> 
    <workingDirectory>C:\RemovedForPost</workingDirectory> 
    <projectFile>C:\RemovedForPost\RemovedForPost.sln</projectFile> 
    <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs> 
    <targets>Build</targets> 
    <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
    <timeout>120</timeout> 
    </msbuild> 
    <nunit> 
    <path>C:\Program Files\NUnit 2.5\bin\net-2.0\nunit-console.exe</path> 
    <outputfile>C:\RemovedForPost.xml</outputfile> 
    <assemblies> 
     <assembly> RemovedForPost </assembly> 
    </assemblies> 
    <timeout>60</timeout> 
    </nunit> 
</tasks> 

धन्यवाद

+0

निश्चित रूप से लंगड़ा। मुझे वह समस्या भी है। +1। –

उत्तर

5

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

CruiseControl.NET docs

में है। तो अधिकतम 3 पर करें और इसे केवल प्रकाशक (यानी निर्माण में असफल) इकाई पर जाने के लिए सेट करें, यह सीमा को हिट करता है। तो 1 या 2 मिस ​​ठीक रहेगी, लेकिन फिर 3 विफल बनाने में कुछ गलत है।

+0

वैसे यह केवल 9 5% बार विफल हो जाएगा, पंक्ति में केवल दो बार अन्य 5% ताकि ट्रिगर मेरे लिए ज्यादा उपयोग न किया जा सके, लेकिन अगर मैं इसे ठीक नहीं कर पा रहा हूं तो मुझे इसे प्राप्त करना होगा CC.NET से छुटकारा एक दिन में केवल 1-2 चेकइन के साथ हमें 50% बिल्ड असफल दर मिल रही है। – Odd

+0

अच्छा, मुझे नहीं पता कि आप कहां जाएंगे। यह निरंतर एकीकरण का मूल प्रिंसिपल होना प्रतीत होता है कि यदि आप स्रोत नियंत्रण सर्वर तक नहीं पहुंच सकते हैं तो आपको निर्माण में विफल होना चाहिए। क्या कोई ऐसी प्रणाली है जिसके बारे में आप सोच रहे हैं जिससे आप इसे कॉन्फ़िगर कर सकें? – Alex

+2

लेकिन अगर आपको ऐसी कई असफलताएं हैं, तो क्या आपको नहीं लगता कि आपको अपनी समस्या के मूल कारण को संबोधित करना चाहिए? मेरा मतलब है, यह कभी-कभी मेरे साथ होता है, लेकिन आमतौर पर यह एससीसी प्रदाता के अनुसूचित डाउनटाइम के दौरान उन्नयन और इसी तरह के लिए होता है। –

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