यदि यह वास्तव में आप और एक अन्य डेवलपर पर काम कर रहा है, तो रात के निर्माण शायद आपको ज्यादा नहीं दे रहे हैं।
मैं कहूंगा कि रात के निर्माण के बराबर वेब ऐप स्टेजिंग साइट्स (जिसे रात में बनाया जा सकता है) होगा।
जहां रात में एक स्टेजिंग क्षेत्र में बनाता है, वास्तविक लाभांश का भुगतान करना शुरू होता है जब आपके पास क्लाइंट, प्रोजेक्ट मैनेजर और क्यूए लोग होते हैं जिन्हें अप टू डेट देखने में सक्षम होना चाहिए, लेकिन ऐप का अपेक्षाकृत स्थिर संस्करण। आपके डेवलपर सैंडबॉक्स (यदि आप मेरे जैसे हैं, कम से कम) शायद एक अनुपयोगी स्थिति में बहुत समय बिताते हैं क्योंकि आप अगली सुविधा लागू करने की कोशिश कर रहे चीजों को तोड़ रहे हैं। तो आम समस्या यह है कि एक क्यूए व्यक्ति यह सत्यापित करना चाहता है कि एक बग तय हो गया है, या प्रधान मंत्री यह जांचना चाहते हैं कि कुछ योजनाबद्ध सुविधा सही ढंग से कार्यान्वित की गई हो, या ग्राहक यह देखना चाहता है कि आपने इस मुद्दे पर प्रगति की है के बारे में। अगर उनके पास केवल डेवलपर सैंडबॉक्स तक पहुंच है, तो एक अच्छा मौका है कि जब वे इसे देखने के लिए घूमते हैं, तो या तो सैंडबॉक्स संस्करण नहीं चल रहा है (क्योंकि इसका मतलब है ./manage.py रनरवर टर्मिनल में कहीं भी है) या यह है किसी और चीज की वजह से एक टूटी हुई स्थिति में। यह वास्तव में पूरी टीम को धीमा कर देता है और बहुत समय बर्बाद करता है।
ऐसा लगता है कि आपके पास स्टेजिंग सेटअप नहीं है क्योंकि आप केवल उत्पादन संस्करण को स्वचालित रूप से अपडेट करते हैं। यह ठीक हो सकता है यदि आप वे I (और मुझे लगता है कि अधिकांश डेवलपर्स) से अधिक सावधान और अनुशासित हैं और कभी भी ऐसा कुछ भी नहीं करते जो पूरी तरह से बुलेटप्रूफ नहीं है। व्यक्तिगत रूप से, मैं यह सुनिश्चित करना चाहता हूं कि मेरे काम ने उत्पादन को हिट करने से पहले मेरे अलावा किसी अन्य व्यक्ति द्वारा कम से कम कुछ कर्सर क्यूए के माध्यम से इसे बनाया है।
तो, अंत में, सेटअप जहां मैं काम करते हैं:
- हर डेवलपर अपने स्वयं के सैंडबॉक्स स्थानीय रूप से चलाता है (एक ही आप यह कर के रूप में)
- एक "आम" एक देव सर्वर पर मंचन सैंडबॉक्स यह है कि एक cronjob से रात को अद्यतन हो जाता है। पीएम, ग्राहक, और क्यूए वहां जाते हैं। उन्हें कभी डेवलपर सैंडबॉक्स तक सीधे पहुंच नहीं दी जाती है।
- उत्पादन में एक स्वचालित (हालांकि मैन्युअल रूप से आरंभ किया गया) तैनाती है। एक डेवलपर या पीएम उत्पादन के लिए "धक्का" दे सकता है जब हमें लगता है कि चीजें पर्याप्त रूप से QA'd हैं और स्थिर और सुरक्षित हैं।
मैं कहूंगा कि केवल डाउनसाइड (रात के स्टेजिंग बिल्डिंग के अतिरिक्त अतिरिक्त ओवरहेड सेटिंग के अलावा) यह है कि यह बग सत्यापन पर बदलाव के दिन बनाता है।यानी, क्यूए सॉफ़्टवेयर में एक बग की रिपोर्ट करता है (उस दिन के रात के निर्माण को देखने के आधार पर), डेवलपर बग को ठीक करता है और करता है, फिर क्यूए को अगले दिन के निर्माण तक प्रतीक्षा करनी चाहिए ताकि यह जांच सके कि बग वास्तव में तय है। आम तौर पर यह कोई समस्या नहीं है क्योंकि हर किसी के पास पर्याप्त सामान है कि यह अनुसूची को प्रभावित नहीं करता है। जब एक मील का पत्थर आ रहा है हालांकि हम एक फीचर-जमे हुए हैं, बगफिक्स केवल मोड में हैं, हम स्टेजिंग साइट के अधिक बार मैन्युअल अपडेट करेंगे।
+1 डायनामिक भाषाओं में वेब ऐप्स को अक्सर "बिल्ड" की आवश्यकता नहीं होती है, लेकिन निरंतर एकीकरण परीक्षण की अत्यधिक अनुशंसा की जाती है। –