2010-05-19 11 views
26

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

मेरी सामान्य योजना & पहले स्थानीय स्तर पर परीक्षण करना है, उत्पादन में सीधे सरल परिवर्तन (छोटे बग फिक्स, एचटीएमएल/सीएसएस, जेएस, आदि) को दबाएं, और बड़े बदलावों के लिए, पहले पूर्ण परीक्षण के लिए सबडोमेन को व्यवस्थित करने के लिए पहले दबाएं और फिर उत्पादन के लिए।

मुझे नहीं लगता कि मुझे स्टेजिंग और उत्पादन डेटाबेस को सिंक में रखने की आवश्यकता है (कभी-कभी मैन्युअल अपडेट करना होगा) लेकिन मुझे आश्चर्य है कि क्या स्टेजिंग वातावरण को बनाए रखने के संबंध में कोई सामान्य अच्छा अभ्यास है एक उत्पादन वातावरण, खासकर जब यह डेटाबेस की बात आती है।

कोई भी सामान्य विचार/सलाह/अनुभव की सराहना की जाएगी।

अद्यतन:

टिप्पणी के लिए धन्यवाद, मैं सार मिलता है। मुझे लगता है कि इस बारे में सोचने के लिए कुछ समय लगाना उचित है। लोकप्रिय उत्तर स्वीकार किया।

उत्तर

26

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

+7

+1। एक स्टेजिंग पर्यावरण का पूरा उद्देश्य उत्पादन में जाने के बारे में नकल करना है। यदि उत्पादन में बदलाव हैं जो आपके द्वारा आयोजित किए गए कोड में दिखाई नहीं दे रहे हैं, तो स्टेजिंग सर्वर से परेशान क्यों हैं? – NotMe

+1

क्या आप कुछ विचार साझा कर सकते हैं कि आप स्वचालित रूप से डीबी को कैसे सिंक करते हैं? – geckob

+1

@geckob जो एक अलग प्रश्न होना चाहिए क्योंकि यह विशिष्ट डीबी, ओएस पर निर्भर करेगा, जहां आप इसे चला रहे हैं (वर्चुअल, डेटा सेंटर, क्लाउड) आदि –

7

किसी एक सॉफ्टवेयर tool कि तैनाती की प्रक्रिया के हर कदम के साथ मदद करता है के विकास के रूप में, मैं सबसे अच्छा अभ्यास कह सकते हैं जब यह वातावरण के मंचन अपने उत्पादन वातावरण बिल्कुल दर्पण है की बात आती है। इसमें एक समान डेटाबेस स्कीमा (डेटा प्रासंगिक नहीं है, कभी-कभी बैकअप/रीफ्रेश ठीक है), एक ही ऑपरेटिंग सिस्टम संस्करण, अद्यतन सर्विस पैक, वेब सर्वर सेटिंग्स इत्यादि।

एक आदर्श दुनिया में, कार्यात्मक या उपयोगकर्ता स्टेजिंग पर्यावरण के उद्देश्य के रूप में स्टेजिंग में स्वीकार्यता परीक्षण करने की आवश्यकता नहीं है केवल उत्पादन के लिए अपनी तैनाती का परीक्षण करना है। व्यावहारिक दुनिया में हालांकि, कभी-कभी यह आपके स्टेजिंग पर्यावरण के लिए आपके कार्यात्मक या UA परीक्षण वातावरण भी स्वीकार्य है।

हर बार जब आप अपने उत्पादन सर्वर पर सेटिंग बदलते हैं या कॉन्फ़िगरेशन बदलते हैं तो आपको स्टेजिंग सर्वर पर सेटिंग बदलनी चाहिए, इससे यह सुनिश्चित होगा कि यदि आप स्टेजिंग के लिए अपना आवेदन तैनात कर सकते हैं, तो बिना किसी संभावना के, उत्पादन के लिए तैनात किया जाएगा त्रुटि।

+11

मैं असहमत हूं कि "डेटा प्रासंगिक नहीं है।" सिस्टम के आधार पर, उत्पादन डेटा आपके स्टेजिंग पर्यावरण में सभी प्रकार के अप्रत्याशित मुद्दों को प्रकट कर सकता है ... जो बिंदु का प्रकार है :) – Dolph

+3

@ डॉल्फ़ - जब मैं डेटा कहता हूं तो मेरा मतलब है "ऑर्डर" या "कर्मचारी"। यदि आप डेटाबेस में किसी भी प्रकार की कॉन्फ़िगरेशन संग्रहीत कर रहे हैं तो आप सही हैं कि इसे निश्चित रूप से समान होना चाहिए। हालांकि, यदि सादा डेटा आपके आवेदन को किसी तरह से तोड़ रहा है तो उसे क्यूए परीक्षण के दौरान पकड़ा जाना चाहिए था। बेशक, यदि आपका स्टेजिंग और परीक्षण वातावरण समान हैं, तो शायद आपके स्टेजिंग डेटाबेस को रीफ्रेश करना एक अच्छा विचार है;) –

+3

एक परिपूर्ण दुनिया में, मैं सहमत हूं। लेकिन मेरे अनुभव में, असली दुनिया के उपयोगकर्ता हमेशा डेटा उत्पन्न करने के तरीकों को ढूंढते हैं और किसी और की अपेक्षा नहीं होती है। – Dolph

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