2008-09-10 20 views
7

ठीक है, इसलिए हम सभी जानते हैं कि दैनिक निर्माण एक परियोजना की दिल की धड़कन है, लेकिन इसे स्वचालित करने का सबसे अच्छा तरीका क्या है?दैनिक निर्माण स्वचालित करने का सर्वोत्तम तरीका

हमारे पास पाइपलाइन को लपेटने वाली पर्ल स्क्रिप्ट है जिसमें क्लीयरकेस, वीएस2005 (सी ++), इंटेल फोरट्रान, इनो सेटअप शामिल है। हम निर्माण को शेड्यूल करने के लिए यूनिक्स पर क्रॉन नौकरियों का उपयोग करते हैं, और निर्माण को देखने और निगरानी करने के लिए एक सरल अपाचे वेब सर्वर होस्ट करते हैं। सब कुछ इसके बजाय जटिल में, मैं जानना चाहता हूं कि लोगों द्वारा उपयोग किए जाने वाले शेल्फ समाधान से सबसे अच्छा क्या है?

और हाँ मैंने कहा कि फ़ोरट्रान कभी-कभी इसे से बच नहीं रहा है, यह काम करता है, कुछ कोशिश किए गए और परीक्षण किए गए एफईए कोड के लिए एक बड़ी पुन: कार्यान्वयन परियोजना नहीं कर रहा है जो अभी काम करता है।

उत्तर

3

हम CC.Net को लागू करने की प्रक्रिया में हैं। अब तक ऐसा लगता है कि यह आपके मॉडल को बहुत अच्छी तरह से फिट करेगा।

बॉक्स में से यह स्वचालित भवन, परिणाम ट्रैकिंग और अधिसूचना प्रदान करता है। मुझे यकीन नहीं है कि बिल्ड-इन-प्रगति निगरानी कितनी विस्तृत है।

+0

मैंने सीसी.NET के साथ खेला है, मुझे डेवलपर्स की बड़ी संख्या में डेवलपर्स को क्लीनकेज प्लगइन पर केवल एक वीओबी (स्रोत डेटाबेस) माना जाता था। – titanae

2

हम TeamCity का उपयोग करते हैं - लेकिन फिर यह एक साधारण सी #/जावा विकास - हो सकता है कि आपकी पाइपलाइन स्क्रिप्ट के माध्यम से ड्राइव कर सके?

5

मैंने जो सुना है, उसके लिए एक नया एक बहुत बड़ा है hudson - एमएसबिल्ड समर्थन के साथ भी।

+0

हम इसे सी विकास पर्यावरण में उपयोग करते हैं और यह वास्तव में आसान है। हालांकि मैं वर्णित स्थिति और हडसन के बारे में कुछ भी नहीं कह सकता, यह "बैच बिल्ड" प्रदान करता है ताकि आप निर्माण प्रक्रिया में आदेश निष्पादित कर सकें। – Gregor

3

कई उपकरण है कि विशेष रूप से इस संभाल रहे हैं:

उपकरण सबसे आम प्रकार का निर्माण करने के लिए बॉक्स से बाहर समर्थन किया है। वे सभी कुछ प्रकार के "इस स्क्रिप्ट को चलाने" प्रकार की निर्माण प्रक्रिया का भी समर्थन करते हैं।

अंत में आपको निसर बिल्ड टूल्स (एमएसबिल्ड, चींटी, मेवेन, मेक, ...) का उपयोग करना चाहिए जहां आप कस्टम स्क्रिप्ट के साथ ऑडर टूल्स के अंतराल को भर सकते हैं और भर सकते हैं। स्वचालित निर्माण सिर्फ इन्हें सही क्रम में बुला सकता है।

1

CC.NET बहुत शक्तिशाली है। इसका इस्तेमाल किया और इसके बारे में वास्तव में खुश था। सिस्ट्रे में स्थिति आइकन भी। यह एक छोटा सा विवरण है, लेकिन यह आपको परियोजना के "स्वास्थ्य" का एक अच्छा अवलोकन देता है। जब आप इसे लाल देखते हैं तो आप तुरंत परीक्षण को ठीक करने के लिए प्रेरित महसूस करते हैं।

अब हम स्क्रिप्ट की एक स्वयं-बेक्ड श्रृंखला का उपयोग करते हैं। चूंकि हम पाइथन लिखते हैं, संकलन अस्तित्वहीन नहीं है, इसलिए एकमात्र समस्या परीक्षण चल रही है।

2

यदि आप विजुअल स्टूडियो के साथ काम कर रहे हैं, तो यह सुनिश्चित करने के लिए Team Foundation Build देखें कि यह आपकी स्थिति के अनुरूप होगा या नहीं।

ऐसा लगता है कि बक होजेस 'blog post on the VS 2008 version भी एक अच्छा संसाधन है।

2

यहां एक बेहतरीन संसाधन है जो हमें एक सतत एकीकरण उपकरण चुनने में मदद करने के लिए मिला है। हम इस पृष्ठ पर 5 या 6 औजारों का मूल्यांकन कर रहे हैं।

http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix

0

मैं जानता हूँ कि यह एक बहुत पुराना सवाल है, लेकिन यह अभी भी खोजों में आ रहा है, तो किसी को Jenkins उल्लेख करना चाहिए - हडसन का खुला स्रोत निरंतरता।

Jenkins wiki से:

उन बातों के अलावा, वर्तमान जेनकींस निम्नलिखित दो नौकरियां पर केंद्रित है:

  • भवन/परीक्षण सॉफ्टवेयर सिर्फ CruiseControl या DamageControl जैसी परियोजनाओं लगातार,। संक्षेप में, जेनकींस एक उपयोग में आसान तथाकथित निरंतर एकीकरण प्रणाली प्रदान करता है, जिससे डेवलपर्स के लिए परियोजना में बदलावों को एकीकृत करना आसान हो जाता है, और उपयोगकर्ताओं के लिए एक नया निर्माण प्राप्त करना आसान हो जाता है। स्वचालित, निरंतर निर्माण उत्पादकता में वृद्धि करता है।
  • बाहरी रूप से चलने वाली नौकरियों की निगरानी निष्पादन, जैसे क्रॉन जॉब्स और प्रोमेल मेल नौकरियां, यहां तक ​​कि रिमोट मशीन पर चलने वाले भी। उदाहरण के लिए, क्रॉन के साथ, आपको प्राप्त होने वाले सभी नियमित ई-मेल होते हैं जो आउटपुट को कैप्चर करते हैं, और यह आपके ऊपर निर्भर करता है कि वे परिश्रमपूर्वक ध्यान दें और नोटिस करते समय नोटिस करें। जेनकींस उन आउटपुट को रखता है और कुछ गलत होने पर आपको नोटिस करना आसान बनाता है।

यह मूल रूप से मन में जावा के साथ बनाया गया था, तो यह अन्य जावा उपकरणों के बहुत सारे के साथ अच्छी तरह से एकीकृत करता है, लेकिन आप ओ पी ने उल्लेख किया उन सभी के सहित किसी भी भाषा, के साथ उपयोग कर सकते हैं।

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