2009-12-22 16 views
6

शायद अजीब सवाल, शायद। हमारे पास घर में लिखी गई कई सरल उपयोगिताएं हैं जिन्हें स्वचालित आधार पर चलाने की आवश्यकता है। ये नौकरियां नहीं बनाते हैं। बस SendOutHourlyEmailAlarms.exe, KeepFoldersInSynch.exe और ऐसे चलने जैसी चीज़ें। मैं सामान्य रूप से इन चीजों को सरल अनुसूचित कार्यों/एटी कमांड के रूप में सेट करता हूं (या एक विंडोज सेवा यदि शेड्यूलिंग पर अधिक बारीक नियंत्रण की आवश्यकता होती है), लेकिन एक सहकर्मी ने क्रूज़ कंट्रोल पर परियोजनाओं के निर्माण के रूप में इन कार्यों में से कई को स्थापित किया है। नेट सर्वर। मैंने उनसे पूछा कि उन्होंने इन तरीकों को क्यों स्थापित किया और उनकी प्रतिक्रिया यह थी कि निष्पादन (और उनके लॉग, मूल्य वापस, अपवादों को फेंक दिया गया) सभी ट्रैक किए गए और लॉग किए गए थे और यह जानकारी बिल्ड सर्वर वेबसाइट पर एक संगठित इंटरफेस के माध्यम से सुलभ थी। मैं इसके साथ बहस नहीं कर सका।क्रूज़ कंट्रोल.NET को उन कार्यों को संभालने के लिए उपयोग किया जाना चाहिए जो इमारत स्रोत से संबंधित नहीं हैं?

लेकिन यह सिर्फ एक गंध है जिसे मैं काफी पहचान नहीं सकता। क्या यह CruiseControl.NET का उचित उपयोग है? यदि नहीं, तो खतरे क्या हैं? यहां तक ​​कि यदि यह बिल फिट हो सकता है, तो क्या इस तरह की चीज के लिए अन्य उत्पाद बेहतर नहीं हैं?

+0

मुझे CC.NET का उपयोग करने के लाभ पसंद हैं। गैर-निर्माण और निर्माण कार्यों को मिश्रित करने के खिलाफ किसी भी आपत्ति के लिए, इस तरह के गैर-निर्माण कार्यों के लिए एक अलग CC.NET उदाहरण को तैनात करना एक आसान काम होगा। – hitec

उत्तर

6

हमारे पास आपके सहकर्मी के समान कारणों से गैर-निर्माण संबंधित कार्यों के सभी प्रकार हैं, मैं चाहता हूं कि एक स्थान किसी भी और सभी नौकरियों को चलाने की आवश्यकता हो।

हमारे CC.NET परियोजनाओं के कुछ उदाहरण:

  • एफ़टीपी रिमोट क्यूए

  • बनाना स्रोत कोड प्रलेखन के संस्थापक

  • वी एम के संस्थापक में गुणवत्ता आश्वासन के लिए स्थापित बनाएं सुबह

  • संग्रहण इंस्टॉलर्स

मुझे एक से अधिक बार हाथ से कुछ करना है, एक परियोजना बन जाती है। आईएमएचओ यह एक अन्य कारण के लिए निर्धारित समय से भी बेहतर है। हमारी कॉन्फ़िगरेशन फ़ाइलें स्रोत नियंत्रण में हैं, इसलिए हमारे पास समायोजन करने के लिए 1 स्थान है। हमें एकाधिक सर्वरों में लॉग इन करने और समायोजन करने या आश्चर्य करने की आवश्यकता नहीं है कि किस सर्वर ने ऐसा किया है।

+0

यदि इन कार्यों में से किसी एक का वास्तविक निष्पादन बिल्ड सर्वर से भिन्न बॉक्स पर होना आवश्यक है (उदाहरण के लिए डेटाबेस सर्वर पर थोक लोडिंग, विशिष्ट ड्राइवरों के साथ एकमात्र मशीन पर चलाना आदि), क्या वहां एक सुरुचिपूर्ण समाधान है ? या यह केवल निष्पादन योग्य के लिए है जिसे सीधे बिल्ड बॉक्स पर चलाया जा सकता है? –

+0

हम बिल्कुल बांस और रिमोट एजेंटों के साथ ऐसा करते हैं। यह वास्तव में अच्छी तरह से काम करता है। – leonm

+0

हमारे पास दर्जनों सर्वर हैं, आमतौर पर इन प्रकार की चीजें गैर-निर्माण सर्वर पर की जाती हैं। आपका वेब डैशबोर्ड कई सर्वरों पर इंगित कर सकता है, इसलिए इससे कोई फर्क नहीं पड़ता। – Alex

1

सिर्फ इसलिए कि एक उपकरण को किसी विशेष समस्या को हल करने के लिए डिज़ाइन किया गया है, इसका मतलब यह नहीं है कि मूल रूप से उपकरण निर्माता द्वारा प्राप्त दायरे के बाहर समान समस्याओं को हल करने में समान सुविधा नहीं होगी। यदि CruiseControl.NET इन समस्याओं को अच्छी तरह से हल करता है, तो यह उपयोग करने के लिए बिल्कुल उपयुक्त उपकरण है।

2

मुझे लगता है कि आपके सहकर्मी ने एक अच्छा तर्क दिया है। यदि ये कार्य विकास प्रक्रिया से संबंधित हैं, तो उन्हें एक परियोजना के रूप में CruesControl.Net में रखना स्वीकार्य लगता है। हालांकि उत्पादन प्रक्रियाओं को चलाने के लिए मैं विकास सर्वर का उपयोग करने के लिए लाइन खींचूंगा। हालांकि यह सच है कि "यदि आपके पास एकमात्र उपकरण है हथौड़ा है, तो आप हर समस्या को नाखून के रूप में देखते हैं," इसका मतलब यह नहीं है कि हथौड़ा बहुत सारी समस्याओं को हल करने में सक्षम नहीं है!

+0

मुझे लगता है कि निर्माण सर्वर/उत्पादन प्रक्रिया कोण मुझे "गंध" के रूप में मारा गया था। –

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