बहुत सारी चीजें हैं जो आप अपनी तैनाती प्रक्रिया को बेहतर बनाने के लिए कर सकते हैं। उनमें से कुछ हैं:
सुनिश्चित करें कि आपके कोड का अच्छी तरह से परीक्षण किया गया है।
आदर्श रूप से आपके पास 100% यूनिट टेस्ट कवरेज होना चाहिए, साथ ही साथ प्रत्येक बोधगम्य परिदृश्य के लिए एकीकरण परीक्षण भी होना चाहिए।
यदि आपको यह नहीं मिला है, तो आपको शायद सब कुछ छोड़ देना चाहिए और इस बात का ध्यान रखना चाहिए।
व्यवहार चालित विकास में देखें।
एक पूर्ण परीक्षण सूट होने से आप ...
निरंतर एकीकरण चलाएं।
जब भी कोई बदलाव करता है, तब सीआई उस पर स्वचालित रूप से परीक्षण सूट चला सकते हैं । यदि परीक्षण सूट पास हो जाता है, तो यह तुरंत (या एक तैनाती शेड्यूल कर सकता है)। उन परिवर्तनों के लिए जिन्हें आपके डेटाबेस में किसी भी महत्वपूर्ण परिवर्तन की आवश्यकता नहीं है, यह अकेले आपको बहुत समय और सिरदर्द से बचाएगा।
किसी समस्या के मामले में, CI आपको एक-क्लिक रोलबैक भी दे सकता है।
यदि आपका परीक्षण सूट पूर्ण और सही नहीं है, तो सीआई बहुत कम उपयोगी है, क्योंकि पूरा आधार आपके कोड को स्वचालित तरीके से मान्य करने में सक्षम होता है।
परमाणु अद्यतन करें।
आदर्श रूप से आपको उत्पादन सर्वर पर पुराने पर केवल नई फ़ाइलों की प्रतिलिपि नहीं बनानी चाहिए। इसके बजाय, कैपिस्ट्रानो जैसे उपकरण का उपयोग करें, जो हर फ़ाइल को नए स्थान पर कॉपी करता है, और फिर वांछित तैनाती को इंगित करने के लिए एक प्रतीकात्मक लिंक का उपयोग करता है। वापस रोल करना तात्कालिक है क्योंकि इसमें पिछली तैनाती की ओर इशारा करने के लिए सिंपलिंक को बदलना शामिल है। (हालांकि यह जरूरी आपके डेटाबेस माइग्रेशन को कवर नहीं करता है।)
यह भी देखें कि क्या डॉकर जैसे कंटेनर आपकी मदद कर सकते हैं।
छोटे, अधिक लगातार परिवर्तन करें।
चाहे आपके पास परीक्षण, सीआई, या कुछ भी नहीं है, यह अकेले आपको काफी मदद कर सकता है। हर बदलाव की अपनी एक शाखा होनी चाहिए, और एक तैनाती में यथासंभव कम बदलाव होने चाहिए। क्योंकि परिवर्तन छोटे होते हैं, परिनियोजन के दौरान संभावित रूप से गलत होने के लिए कम होता है।
उस नोट पर, जब भी संभव हो बदलाव को और अलग-थलग कर दें। यदि आपने ओमाहा गेम में बदलाव किया है, और यह टेक्सास होल्डम, 5 कार्ड स्टड या किसी अन्य चीज को प्रभावित नहीं करता है, तो यह एकमात्र गेम है जिसे रखरखाव के लिए निलंबित करने की आवश्यकता है।
किसी भी चीज का लंबे समय तक विश्लेषण करें।
आपने उल्लेख किया कि आपकी तैनाती के कुछ हिस्सों में लंबा समय लगता है। यह संभवतः डेटाबेस स्कीमा परिवर्तन है। यह देखने के लिए कि क्या बेहतर प्रदर्शन किया जा सकता है, प्रत्येक स्कीमा परिवर्तन के साथ-साथ आपके डेटाबेस पर डीबीए देखने लायक है।
एक विषय वस्तु विशेषज्ञ की तैनाती के किसी अन्य भाग पर नज़र डालें जो समय के बड़े ब्लॉक लेता है।
अजीब घंटे काम करते हैं।
आप पहले से ही ऐसा कर रहे होंगे, लेकिन यह उल्लेख करने वाला है। डेवलपर्स (और sysadmins!) को अब "9 से 5" काम करने की उम्मीद नहीं की जानी चाहिए, खासकर 24x7 ऑपरेशन के लिए। यदि किसी को रात भर घंटों बिताने, किसी समस्या को ठीक करने, और फिर एक दिन का समय निर्धारित करने की उम्मीद है, तो आपकी उम्मीदें अवास्तविक हैं, और आप उस व्यक्ति को जलाने के लिए तैयार कर रहे हैं।