जैसे ही आप समानांतर में परिवर्तन करने के विषय को स्पर्श करते हैं, आप कॉन्फ़िगरेशन प्रबंधन के क्षेत्र को छू लेते हैं। बहुत सारे पैटर्न के साथ, स्वयं के समुदाय (http://www.cmcrossroads.com/) और उपकरण संस्करण प्रबंधन के लिए इतना नहीं है (जैसा कि svn / git) लेकिन क्लीयरकेस जैसे कॉन्फ़िगरेशन प्रबंधन (पैटर्न) के समर्थन के लिए। (पूरी तरह से अलग क्षेत्रों)।
इस मामले में यह अभी भी एक साधारण स्थिति है और आप इसे कुछ सीमाओं और कुछ मैनुअल काम और कुछ सूचियों के साथ काम करने के लिए पाएंगे।
जिस परिदृश्य पर मैं इसे आदर्श समाधान के बारे में अधिक विवरणात्मक बनाने की सोच रहा हूं: दुनिया के सभी कोनों में एक ही कोडबेस, एक से अधिक परीक्षण वातावरण, कई स्वीकृति वातावरण, कई उत्पादन स्वीकृति वातावरण पर काम करने वाले कई डेवलपर्स।
यदि आप इसे थोड़ा और अधिक पेशेवर करना चाहते हैं:
a) आपके द्वारा सामना किए जाने वाले सभी कॉन्फ़िगरेशन आइटमों की एक सूची लिखें, यह वर्डप्रेस कोड ही हो सकता है, एक्सटर्नल, कंटेंट, मेटाडाटा से प्लगइन्स और यह तय करें कि इनमें से आप किस तरह के "प्रबंधन" के तहत लाना चाहते हैं, जो कि मायने रखते हैं।
बी) वर्कफ़्लोज़ का वर्णन करें जो हो सकता है जैसे कि एक फिक्स के साथ क्या होता है, कुछ नए होने के साथ क्या होता है, किस स्थिति में आप अपनी तरफ से सामग्री बदलते हैं, उसको क्या कहते हैं, और यह कौन करता है, इसका मालिक कौन है जैसे कोई नई पोस्ट या नया प्लगइन।
ग) समानांतर काम करने के लिए पहले यह बताएं कि आप किस सीआई का प्रबंधन करना चाहते हैं, यह तय करें कि क्या प्रवाह हमेशा विकास से उत्पादन तक है या यदि यह वास्तव में दो तरीकों से करना है।
d) प्रत्येक CI प्रकार के लिए (ए) के तहत एक संकल्प लिखें। ईजी फॉर ए आल दैट टेक्स्ट (या एक्सपोर्टेड टेक्स्ट जैसे php फाइल्स लेकिन XML फाइल में ALSO प्लेन टेक्स्ट) विलय संभव है। यह वास्तव में कोई समस्या नहीं है लेकिन आपको एक अच्छे मर्ज टूल की आवश्यकता है। उदाहरण के साथ क्लियरकेस के साथ आपको निम्नलिखित स्थितियों में 3 तरह से विलय करना होगा: 1) तुच्छ विलय: यह स्वचालित रूप से 2 करेगा) गैर तुच्छ स्वचालित: यह स्वचालित रूप से ऐसा करेगा लेकिन आपको इसकी जांच करने की आवश्यकता है 3) गैर तुच्छ गैर स्वचालित: यह एक संघर्ष है जैसे 1 लाइन पर कई बदलाव किए गए हैं। नॉन ट्रिवियल्स न्यूनतम हिस्सा है जिसे आपको मैन्युअल रूप से देखभाल करने की आवश्यकता होती है, एक अच्छा मर्जिंग टूल आपको इसमें ले जाएगा जैसे कि क्लीयरकेस में एक (जो शब्द विलय भी करता है और जहां आप विशिष्ट फ़ाइल के लिए अन्य वाणिज्यिक या गैर वाणिज्यिक विलय में लिंक कर सकते हैं प्रकार)। फर्टमोर यदि आपने (ए) फाइलों के तहत पहचान की है, जिन्हें केवल कॉपी किया जाना चाहिए, तो उनका व्यवहार विलय नहीं होगा, लेकिन एक तरह से मर्ज किए बिना दूसरे संस्करण को ओवरराइट करने के लिए एक तरह से कॉपी किया जा सकता है (उदाहरण के लिए प्लगइन्स जिन्हें आपने संशोधित नहीं किया है)। विभिन्न व्यवहारों के साथ इनमें से कई प्रकार संभव हैं। लेकिन CI के बीच संबंधों को लिखें,
फिर नॉन टेक्स्ट बेस्ड मर्ज के लिए आपको यह तय करने की आवश्यकता है कि उन्हें कैसे हैंडल करना है जैसे कि 2 जगहों पर बदले गए चित्र। आप यहां यह तय कर सकते हैं कि उत्पादन में हमेशा वरीयता होती है (कम से कम मैं यही सोचता हूं), जो इसे सरल बनाता है।
तो ... इस समस्या को हल करने के लिए आपको एक संस्करण प्रबंधन उपकरण की आवश्यकता होती है जो विभिन्न धाराओं का समर्थन करता है। प्रत्येक धारा एक भाग का प्रतिनिधित्व करती है। (यह आपकी आवश्यकताओं के आधार पर बेहद जटिल हो सकता है लेकिन इस मामले में मुझे लगता है कि यह बहुत सरल है)।
यदि आप अब इन धाराओं को वर्डप्रेस इंस्टॉलेशन के तहत प्रबंधित कर सकते हैं और उन्हें डेटाबेस की सामग्री आदि के साथ भी सिंक कर सकते हैं ... तो आप सीएम / वर्जनिंग टूल में मर्ज कर सकते हैं और फिर इसे अन्य वातावरण में वापस निर्यात कर सकते हैं।
बात यह है ... आपको इसे पहले लिखना होगा। यह कोई तकनीकी हैक नहीं है। यह विन्यास प्रबंधन के आसपास एक डिफ़ॉल्ट पैटर्न है इसलिए यहां कुछ भी अजीब नहीं है लेकिन आपको इसे लिखने की आवश्यकता है। आप उदाहरण के लिए पा सकते हैं कि एक स्थापित प्लगइन कुछ डेटा के साथ डेटाबेस में बदलाव करता है जो किसी अन्य वातावरण में अलग है, इसलिए आपको इसके लिए एक अतिरिक्त स्तर की आवश्यकता है।
तकनीकी रूप से लगभग हमेशा सब कुछ संभव होता है http://www.cmcrossroads.com/forums परिदृश्य के लिए दर्जनों या सैकड़ों बार अधिक जटिल होते हैं, हालांकि हमेशा एक ही दृष्टिकोण का उपयोग करके और एक ही सीएम पैटर्न का उपयोग करके।
संक्षेप में: इसके तहत एक संस्करण प्रबंधन परत डालें, मर्ज को स्वचालित करें और संघर्षों को संभालें, फिर लक्ष्य वातावरण में आयात करें। एक स्ट्रीम रणनीति समझें जो यहां फिट हो और इसे लिखें। नन्हा weeny सा CM प्रबंधन करें। यह पेशेवर समाधान होगा अन्यथा कुछ डीबी कॉपी हैक, स्क्रिप्ट आदि स्थापित करें ...