2013-07-15 5 views
6

मैं एक बड़े विश्वविद्यालय में काम करता हूं और वेबसाइटों का प्रबंधन करने के लिए एक स्रोत नियंत्रण प्रणाली (गिट, एसवीएन, आदि) का उपयोग करने के लिए निर्देशित किया गया है। हम जूमला का उपयोग करते हैं जो MySQL पर भारी निर्भर करता है।गिट के साथ जूमला वेबसाइट का प्रबंधन?

वर्तमान में, हमारे पास एक बेहद कार्यात्मक प्रणाली है जो विकास सर्वर का उपयोग करती है जो किसी भी वेबसाइट को बदलने पर लाइव सर्वर पर जाती है। यह दर्द है और यह हमेशा काम नहीं करता है। इसके अलावा, हम अन्य देवताओं द्वारा किए गए परिवर्तनों को ओवरराइट कर सकते हैं।

हम देव शाखा पर जूमला फ्रंट एंड के माध्यम से सामग्री का प्रबंधन करने में सक्षम होना चाहते हैं, फिर उन परिवर्तनों को परीक्षण शाखा में दबाएं, फिर मास्टर (लाइव) शाखा में।

कुल मिलाकर बिना वजन कम किए बिना: मेरा सवाल अनिवार्य रूप से, डेटाबेस पर निर्भर करता है जो जूमला जैसे सीएमएस का उपयोग कर वेबसाइटों के प्रबंधन के लिए एक अच्छी रणनीति क्या है?

+0

द्वारा अनुवादित आप अपनी सामग्री के बारे में या अपने कोड के बारे में बात कर रहे हैं? – Elin

+0

मैं जूमला से सामग्री का प्रबंधन करना पसंद करूंगा। मैं केवल कोड और डेटाबेस को सिंक में रखने के बारे में चिंतित हूं। – Kickasstimus

+0

प्रश्न [प्रोग्रामर] (http://programmers.stackexchange.com) के लिए बेहतर फिट हो सकता है, सुनिश्चित नहीं है। लेकिन मेरे अनुभव में, डाटाबेस स्रोत नियंत्रण के साथ संस्करण के लिए मुश्किल है। हालांकि, आप जिस रणनीति का उपयोग कर सकते हैं वह है कि आप किसी भी एसक्यूएल स्क्रिप्ट्स, प्रश्नों आदि को गिट में '.sql' फ़ाइलों के रूप में उपयोग करते हैं, और जब भी आपको डेटाबेस में परिवर्तन करने की आवश्यकता होती है, जैसे टेबल को बदलने आदि। वे डेटाबेस संरचना परिवर्तन हैं। यदि आप जूमला ** सामग्री ** का प्रबंधन करना चाहते हैं, तो सबसे अच्छा काम शायद अक्सर बैकअप बनाने के लिए है। –

उत्तर

3

चूंकि आप डेटाबेस को सिंक करना चाहते हैं (सामग्री डीबी में संग्रहीत है, जबकि छवियां और मीडिया फाइल सिस्टम पर हैं), आपको डीबी को फ़ाइल में डंप करने के लिए प्रतिबद्ध/पुश स्क्रिप्ट की आवश्यकता है, और पुल स्क्रिप्ट डीबी लोड करने के लिए। यह प्री और पोस्ट हुक, http://githooks.com/ या इसे Google के साथ किया जा सकता है।

हालांकि जूमला के विभिन्न हिस्सों होंगे जो आप अलग से सिंक करना चाहते हैं।

  • संपादित सर्वर: जहां सामग्री प्रबंधित किया जाता है
  • देव सर्वर: जहां एक्सटेंशन का परीक्षण किया और कॉन्फ़िगर
  • परीक्षण सर्वर
  • उत्पादन कर रहे हैं

    के तीन सर्वरों पर विचार करें सर्वर

की जानकारी की तीन परतों पर ध्यान दें:

  1. उपयोगकर्ता और सत्र डेटा: इस पर सभी ताकि लोगों को बाहर लॉग इन नहीं हैं सिंक्रनाइज़ नहीं किया जाना चाहिए, और किसी भी उन उत्पादन सर्वर उनके प्रवेश पर रजिस्टर अगर संरक्षित किया जाएगा।

  2. सामग्री, उपयोगकर्ता समूहों और परिसंपत्तियों (विशेषाधिकार): यह वह जगह है लेख, समाचार, से संपादितपरीक्षण करने के लिए को उत्पादन और देव लिए (जब तक आप सामग्री है जाना है जो छवियों प्रत्येक उपयोगकर्ता यानी उपयोगकर्ता स्तर पर विशिष्ट विशेषाधिकार प्रत्येक सामग्री मद पर अलग विशेषाधिकार)

  3. टेम्पलेट, एक्सटेंशन, मॉड्यूल, मेनू विन्यास है: इस देवको परीक्षण से जाना होगा उत्पादन और संपादित करें।

डेटा के इन समूहों में से प्रत्येक को अपनी शाखा और उनके कस्टम प्री-प्रतिबद्ध हुक की आवश्यकता होगी ताकि संबंधित डेटाबेस टेबल को प्रतिबद्ध/धक्का दिया जा सके।प्रत्येक समूह के लिए टेबल की सूची आपके द्वारा उपयोग किए जा रहे एक्सटेंशन पर निर्भर करती है।

मैं एक लेख में यह इतालवी और के लिए SVN है लिखा है, लेकिन आप bash स्क्रिप्ट उपयोग हम में से कुछ को आकर्षित कर सकते हैं: या गूगल http://translate.google.com/translate?sl=it&tl=en&js=n&prev=_t&hl=it&ie=UTF-8&u=http%3A%2F%2Fwww.fasterjoomla.com%2Fjoomla-tips%2Fsvn-per-joomla

+0

यदि मैं वीसीएस में जेनरेट की गई डंप फ़ाइलों को रखा जाता है तो 'iskip-comment' और '--skip-dump-date' कमांड लाइन विकल्प 'mysqldump'' का उपयोग करके MySQL तालिकाओं को डंप करना होगा - यह बढ़ता है पिछली डंप के परिणामों में कम अंतर रखने के लिए जेनरेट की गई फ़ाइलों की संभावनाएं। MySQL अनुदान Percona टूल्स सूट (पूर्व Maatkit) से 'एमके-शो-अनुदान' उपकरण का उपयोग करके डंप किया जा सकता है, जैसे: 'एमके-शो-अनुदान - नोहेडर - नोटीमेस्टैम्प --ड्रॉप - फ्लश'। – kostix

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