2009-07-16 16 views
6

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

तो, मुझे संस्करण नियंत्रण की मूल बातें पता हैं, और जिस तरह से यह अब काम करता है वह गलत समय है। मैं विकिपीडिया और कुछ एसवीएन पृष्ठों से गुजर चुका हूं, लेकिन मुझे एक सही समाधान नहीं मिला कि इसे वास्तव में कैसे काम करना चाहिए।

क्या आप में से कुछ अनुभवी लोग सुझाव दे सकते हैं कि यह वास्तव में कैसे काम करना चाहिए?

  • हम स्थानीय प्रतियां पर काम करना चाहिए हमारे मशीनों पर
  • तो हम SVN में परिवर्तन सबमिट:

    बातें मुझे पता चला है।

चीजें मैं जानना चाहता हूँ:

  • हम कैसे कर सकता हूँ SVN के बाद वेब देव अद्यतन प्रतिबद्ध?
  • उत्पादन सर्वर पर पैच कैसे तैनात करें? एफटीपी फाइलें? क्या यह आप करते हैं? या कुछ अन्य चालाक समाधान?
  • और कुछ भी मुझे वेब-वर्क वर्कफ़्लो के बारे में पता होना चाहिए।

उत्तर

6

सबवर्जन में post commit hooks है जो आपको प्रतिबद्धता पर कार्य करने की अनुमति देता है।

आप क्रूज़ कंट्रोल.net या टीम सिटी जैसे निरंतर एकीकरण समाधान को भी देख सकते हैं।

हमारी प्रक्रिया व्यक्तिगत डेवलपर्स स्थानीय कॉन्फ़िगरेशन पर काम करती है। हम Subversion और CruiseControl.net को प्रतिबद्ध करते हैं और हर बार जब हममें से कोई भी सिस्टम बनाता है तो सिस्टम बनाता है।

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

+0

इस निक के लिए धन्यवाद। निरंतर एकीकरण सामग्री पर एक नज़र डालेंगे। –

0

एक मॉडल मैं सफलतापूर्वक उपयोग किया है के रूप में तोड़फोड़ की

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

दुर्भाग्यवश हमारे लिए इस समय अन्य संस्करण नियंत्रण समाधान पर स्विच करना संभव नहीं है। –

2

मैं पोस्ट देखने की सलाह देते हैं, उस पर धक्का दे दिया प्रतिबद्ध हुक, nickd पता चलता है की तरह। यदि आप इसे बनाने में असफल होते हैं तो आप एक प्रतिबद्धता को भी अस्वीकार कर सकते हैं (कहें कि आप कुछ 'स्रोत' फ़ाइलों से HTML फ़ाइलें जेनरेट करते हैं और यदि यह बिल्ड विफल रहता है तो आप उम्मीद कर सकते हैं कि व्यक्ति प्रतिबद्ध होने से पहले इसे ठीक कर सके)।

  • हम कैसे कर SVN के बाद वेब देव अद्यतन प्रतिबद्ध हैं?
  • उत्पादन सर्वर पर पैच कैसे तैनात करें?

या तो स्वचालित रूप से, हुक के माध्यम से, या आप उत्पादन मशीनों पर एक पुस्तिका "SVN अद्यतन", जो आप जब, जो संशोधन और इसके आगे उपयोग में लेने के लिए की नियंत्रण देता है पर विचार कर सकते हैं।

SVN book बहुत अच्छा पढ़ना है। कोई केवल प्रासंगिक खंड पढ़ सकता है और बाद में और अधिक के लिए आ सकता है। क्या आप ट्रंक और टैग का उपयोग कर रहे हैं - वे svn उपयोग और रिलीज नियंत्रण के लिए रोटी और मक्खन हैं।

2

इस तरह मैं इसे कुछ सालों से कर रहा हूं।

देव सर्वर - घर में स्थित, इसमें लैंप स्टैक, रिपोजिटरी और एक कार्यशील प्रति शामिल है। यह उत्पादन सर्वर के रूप में सॉफ्टवेयर के समान संस्करण है।

उत्पादन सर्वर - रेपो की कार्यशील प्रतिलिपि के साथ वातावरण को व्यवस्थित करना, परियोजना के गैर-svn संस्करण (यानी लाइव साइट) के साथ उत्पादन वातावरण भी है।

डेवलपर - एलएएमपी स्टैक और उनकी स्थानीय मशीन पर रिपोजिटरी की कामकाजी प्रति है।

विशिष्ट प्रक्रिया:

डेवलपर काम कर परियोजना के प्रति अद्यतन। स्थानीय प्रतिलिपि पर काम करता है, जब वर्तमान परिवर्तन किए जाते हैं और बग-फ्री वे प्रतिलिपि में प्रतिलिपि की जांच करते हैं।

पोस्ट-प्रतिबद्ध हुक अद्यतन देव सर्वर की कार्यशील प्रति। आप इसे मैन्युअल रूप से करना चाह सकते हैं, खासकर अगर आपकी टीम बढ़ने लगती है।

यदि परिवर्तन सर्वर पर काम कर रहे हैं तो स्टेजिंग वातावरण पर कार्यशील प्रतिलिपि मैन्युअल रूप से अपडेट की जाती है।

यदि परिवर्तन पर्यावरण को व्यवस्थित करने में काम कर रहे हैं तो हम उत्पादन वातावरण में स्टेजिंग पर्यावरण की कार्यशील प्रतिलिपि से किसी भी बदलाव को धक्का देने के लिए आरएसवाईएनसी का उपयोग करते हैं।

जाहिर है यह इस बात का एक बहुत ही सामान्य स्पष्टीकरण है कि आप प्रक्रिया में यूनिट परीक्षण जैसी चीज़ों को एकीकृत करना चाहते हैं, लेकिन मुझे उम्मीद है कि इससे मदद मिलती है।

0

जिस तरह से हम इसे करते हैं वह बहुत आसान है, और एक छोटी सी टीम होने के नाते, आप संबंधित हो सकते हैं।

  • स्थानीयहोस्ट पर विकास किया जाता है और ट्रंक की शाखा में जाता है।
  • क्यूए के लिए, शाखा ट्रंक के साथ मिला दिया जाता है, और यदि सब कुछ क्यूए में अच्छा है देव पर्यावरण (जो ट्रंक के प्रति है) सिर्फ एक svn up
  • करता है, मैं जीना वातावरण में एक svn up कर (जो ट्रंक की एक प्रति भी) और मैं कर रहा हूँ।

मैंने अभी तक यह नहीं किया है, लेकिन इस प्रक्रिया को देव पर्यावरण को स्वचालित रूप से अपडेट करने के लिए पोस्ट-प्रतिबद्ध हुक जोड़कर सरलीकृत किया जा सकता है (जैसा कि अन्य ने सुझाव दिया है)।

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