विकिपीडिया इनमें से अधिकांश शब्दों का बहुत अच्छा सारांश देता है। यहाँ मेरा उन पर ले रहा है:
बिल्ड ऑटोमेशन स्वचालित रूप से संकलक के बजाय सॉफ्टवेयर को कैसे बनाया जाता है, इसे स्वचालित कर रहा है। यह उपकरण जैसे कि मेक या चींटी के माध्यम से पूरा किया जाएगा ।
परिनियोजन स्वचालन आपके निर्मित सॉफ़्टवेयर को ले रहा है और परीक्षण या उत्पादन प्रणाली पर तैनात या स्थापित कर रहा है।
सतत एकीकरण का अर्थ है एक स्वचालित प्रक्रिया का निर्माण करना जो आपके सॉफ़्टवेयर को लगातार कोड में चेक करती है, और कोड के काम को सुनिश्चित करने के लिए इकाई परीक्षण चलाते हैं। उदाहरण के लिए, हर 15 से 30 मिनट में एक सर्वर जाग सकता है, नए चेक-इन के लिए वीसीएस को स्कैन कर सकता है , फिर यदि कोई बदलाव किया गया है तो प्रोजेक्ट को अपडेट और बिल्ड कर सकता है। संकलित चरणों का प्रदर्शन करने के अलावा, यह स्वचालित इकाई परीक्षण और कोड गुणवत्ता जांच चलाने का एक शानदार अवसर है ।
सतत वितरण सभी पिछली अवधारणाओं का एक संयोजन है जहां सॉफ्टवेयर बनाता है एक परीक्षण प्रणाली में भी तैनात किया जाता है, वैकल्पिक रूप से प्रदर्शन किए गए परीक्षणों और उत्पन्न रिपोर्ट के साथ।
बहुत कम से कम, आपको स्वचालन का निर्माण करने की आवश्यकता है, अर्थात किसी प्रकार की निर्माण स्क्रिप्ट। यह आपको एक बटन क्लिक करने या अपनी परियोजना बनाने के लिए एक आदेश जारी करने की अनुमति देता है। इसका लाभ मैन्युअल रूप से चलने वाले चरणों से त्रुटियों को कम करना है। परिसर का निर्माण वातावरण पैदा कोड (लगता है शामिल हो सकता है DAOs कॉन्फ़िगरेशन, जैसे इंटरफेस कोड से JAXB क्यों चेकलिस्ट होना नहीं:), कोड संकलन है, यह पैकेजिंग अप, मेटाडेटा आदि को अनुकूलित कर सामान का एक बहुत के साथ करने के लिए आप एक चेकलिस्ट की जरूरत है आपकी स्क्रिप्ट का निर्माण, और इसे चलाने के लिए एक उपकरण का उपयोग करें? यह त्रुटियों को कम करता है और स्थिरता प्रदान करता है।
अगला अप CI है: यह वास्तव में अच्छा है, लेकिन सख्ती की आवश्यकता नहीं है। यह समस्याओं को जल्दी पहचानने में मदद करता है। यदि आपके पास दिन भर कोड में कई डेवलपर्स की जाँच है और शायद अपने स्वयं के कार्यस्थानों को लगातार सिंक्रनाइज़ नहीं कर रहे हैं, तो एक जोखिम है कि उनके परिवर्तन एक दूसरे के साथ हस्तक्षेप करेंगे। मैं विशेष रूप से स्थिर कोड त्रुटियों की बात कर रहा हूं, न कि संस्करण नियंत्रण संघर्षों की। एक CI बिल्ड सर्वर इस जोखिम को कम करेगा।
अंत में हमारे पास तैनाती के चरण हैं। यहां विचार समय को बचाने और मैन्युअल रूप से सॉफ़्टवेयर को लागू करने से त्रुटि को कम करने का है। बिल्ड ऑटोमेशन की तरह, सॉफ्टवेयर तैनाती के लिए एक सौ तरीके हैं। जब मैं कल साइट पर आने वाले ग्राहकों के लिए एक कार्य प्रणाली की आवश्यकता होती है, तो मैं कई अवसरों पर मैन्युअल तैनाती की समस्याओं को ठीक करने के लिए कार्यालय में देर से रुका हूं। कई प्रणालियों को स्वचालित करना अधिक जोखिम का परिचय देता है: एक प्रणाली के बजाय संभवतः दुर्घटनाग्रस्त या अजीब त्रुटियां होती हैं, अब हमारे पास कई हैंसिस्टम जो गलत हो सकते हैं। हालाँकि, यह जोखिम किसी चेकलिस्ट पर एक कदम याद करने या गलत आदेश जारी करने और तैनाती को गड़बड़ाने की तुलना में बहुत कम है। यदि आप भाग्यशाली हैं, तो आप बस एक DB बैकअप को पुनर्स्थापित कर सकते हैं और शुरू कर सकते हैं, यदि आप अशुभ हैं तो एक त्रुटि सिस्टम के गलत तरीके से कार्य करने का कारण हो सकता है। क्या यह एक सॉफ्टवेयर दोष है? क्या तकनीशियन ने कॉन्फ़िगरेशन ठीक से सेट नहीं किया था? यह निदान करने में समय लगता है, ऐसा समय जो आपके पास नहीं हो सकता है और यदि प्रक्रिया को स्वचालित करने के लिए समय की आवश्यकता नहीं है।