2012-02-28 16 views
6

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

+0

रेक कैसे रुकता है? क्या कोई अपवाद है? यदि हां - इसे पकड़ो। – knut

उत्तर

6

आप रेक से न्यूटिट कैसे चलाते हैं? क्या आप "sh" का उपयोग कर रहे हैं?

इस प्रकार आप शेल कमांड निष्पादित करने के लिए "sh" का उपयोग करते हैं, और परिणाम को रोकते हैं।

मैं सिर्फ खाली ब्लॉक का उपयोग किसी भी परिणाम की अनदेखी करने (विफल रहा है या सफलता)

  sh "your shell command" do |ok,res| 
       #empty block to ignore any failed or success status 
       #in your case set failed flag based on ok parameter 
       nunitSuccessFlag=false #hardcoded for sample; must set true or false based on ok parameter 
      end 

सर्वर नीचे बंद इतना ccnet जानता है कि निर्माण में विफल रहा है

raise "NUnit failed" if nunitSuccessFlag == false 

विकल्प के बाद इस उठाने के अपवाद डाल: उपयोग इस लिंक में दिखाए गए उपयोगकर्ता नट द्वारा बताए गए ब्लॉक को आज़माएं: Rake Task: error handling (सुनिश्चित करें ब्लॉक में सर्वर को बंद करें)

+0

हाँ, मैं sh का उपयोग कर रहा था। धन्यवाद। – DrSammyD

2
sh "the command || true" 

true हमेशा बाहर निकालता है एक त्रुटि के बिना, बनाने sh हमेशा एक सफलता देखें:मैं rake स्थिति आदेश से लौटे उपेक्षा बनाने के लिए इस्तेमाल किया।

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