मैंने एक साल पहले यह सवाल पूछा था, और उस समय के दौरान हमने अपनी टीम में और लोगों को जोड़ा है और वर्डप्रेस में बहुत अधिक संख्या में साइटें विकसित की हैं। मैं किसी और की मदद करने की स्थिति में हमारी प्रक्रिया से चलना चाहता था।
Git में सब कुछ
यह कुछ ऐसा था जो मैं सवाल पूछते हुए भी कर रहा था, लेकिन इस बिंदु को कॉल करना अच्छा है। Git का उपयोग करने से न केवल हमें अधिक उत्पादक होने में मदद मिली है, बल्कि इसने हमारे सामूहिक गधों को भी कई बार बचाया है।
क्या आपको कभी किसी साइट पर प्रमुख संरचनात्मक नवीनीकरण करने, क्लाइंट से नवीनीकरण के लिए अनुमोदन प्राप्त करने और गैर-नवीनीकृत संस्करण में मामूली अपडेट करने की आवश्यकता है? हमारे पास है, और Git हमें इसे करने देंगे। इस सेटअप का वर्णन करना थोड़ा लंबा हो जाएगा, लेकिन मूल बातें यह हैं कि हमने एक नई शाखा बनाई, उस शाखा को सर्वर पर खींचा, और उस शाखा के लिए एक उपडोमेन संलग्न किया।
हमें Git द्वारा भी सहेजा गया है। यह निश्चित रूप से हमें वापस परिवर्तनों को रोल करने की अनुमति देता है, जो महान है, लेकिन यह हमें फ़ाइलों के पुराने संस्करणों को वापस लाने की भी अनुमति देता है। इसका मतलब यह है कि यदि कोई ग्राहक पूछता है, "याद रखें कि साइट के इस हिस्से ने लगभग एक साल पहले काम किया था? क्या हम उसे वापस ला सकते हैं?", इसका उत्तर हां है - भले ही उस व्यक्ति से पूछा जाए कि वह एक वर्ष में उस परियोजना पर नहीं था। पहले।
इन बिंदुओं के अलावा, इसका मतलब यह भी है कि हम कभी भी उन फाइलों के बिना अटक जाते हैं जिनकी हमें जरूरत नहीं है। हम किसी भी मशीन से साइट के नवीनतम संस्करण को हमेशा नीचे खींच सकते हैं और बदलाव करना शुरू कर सकते हैं।
तैनात करने के लिए Git का उपयोग करें
हम अपने वर्डप्रेस को मीडिया टेम्पल पर होस्ट करते हैं , और हम वास्तव में उन्हें पसंद करते हैं। वे सबसे सस्ते प्रदाता नहीं हैं, लेकिन उनकी सेवा उत्कृष्ट है और उनके सर्वर वास्तव में अच्छी तरह से स्थापित हैं। डिफ़ॉल्ट रूप से Git भी प्रदान करते हैं। इसका अर्थ है कि हम सर्वर को Git रिपॉजिटरी के रूप में सेट कर सकते हैं, और SFTP का उपयोग करने के बजाय उस तरह से परिवर्तन खींच सकते हैं। इसका अर्थ यह भी है कि सर्वर पर काम करने से अधिलेखित होने का खतरा नहीं है (जैसा कि उन परिवर्तनों को विलय किया जा सकता है और वापस ऊपर धकेल दिया जा सकता है)।
क्योंकि हम बिटबिट को अपने Git होस्ट के रूप में उपयोग करते हैं, इसलिए यहां थोड़ा अतिरिक्त काम करना पड़ता है। सबसे पहले हम .shsh / config files का उपयोग करते हैं ताकि हम ssh sitename
अपने सर्वर में लॉग इन करने के लिए चीजों को टाइप कर सकें (हम भी पासवर्डलेस SSH का उपयोग करते हैं , जिससे यह सुपर आसान हो जाता है)। हम यह भी सुनिश्चित करते हैं कि हमेशा ssh पासफ़्रेज़ का उपयोग करें (Mac OS X आपको Keychain.app में अपना पासफ़्रेज़ संग्रहीत करने की अनुमति देकर इसे बहुत आसान बनाता है )। अंत में, हम एक फॉरवर्डएजेंट लाइन जोड़ते हैं। हम जिस होस्ट को खींचना चाहते हैं, उस पर .shsh / config एंट्री। इसका अर्थ है कि हमें केवल बिटबकेट में प्रत्येक व्यक्ति की SSH सार्वजनिक कुंजी की आवश्यकता है, न कि प्रत्येक सर्वर की सार्वजनिक कुंजी की। हम .git
सार्वजनिक HTML निर्देशिका के ऊपर निर्देशिका को एक निर्देशिका रखना सुनिश्चित करते हैं ।
स्वचालित डेटाबेस डंप
सर्वर के उत्पादन मोड में होने के बाद, हम केवल मामले में, अपने डेटाबेस का स्वतः बैकअप लेना सुनिश्चित करते हैं ।
हर किसी का अपना wp-config है
क्योंकि हम सभी को हमारे अपने स्थानीय डेटाबेस उपयोगकर्ता नाम और पासवर्ड मिल गए हैं, और क्योंकि हम विभिन्न नामों और सेवारत तंत्रों का उपयोग कर सकते हैं, हम प्रत्येक अपनी खुद की wp-config फाइल रखते हैं। इनमें से प्रत्येक की तरह एक नाम के साथ Git में संग्रहीत किया जाता wp-config-gavin.php
है, और जब हम उस config उपयोग करना चाहते हैं, हम सिमलिंक यह करने के लिए wp-config.php
(जो का उपयोग कर Git द्वारा नजरअंदाज कर दिया है .gitignore )।
यह भी हमें डेटाबेस तालिका siteurl
में विकल्प को ओवरराइड करने की अनुमति देता है wp_options
जैसे:
define('WP_SITEURL', 'http://sitename.localhost');
define('WP_HOME', 'http://sitename.localhost');
यह सर्वर स्थान के लिए डेटाबेस को देखने से वर्डप्रेस को रोकता है, और इसका मतलब है कि स्थानीय और सर्वर इंस्टॉल के बीच स्थान में अजीब अंतर नहीं हैं।
Wp-config.php फ़ाइलों के बारे में एक अंतिम नोट: सार्वजनिक एचटीएमएल निर्देशिका के ऊपर उन्हें संग्रहीत करना सुनिश्चित करें और केवल वेब उपयोगकर्ता के लिए पढ़ी गई अनुमतियों को बनाएं । इससे वर्डप्रेस को सुरक्षित बनाने में बहुत फर्क पड़ता है।
डेटाबेस समस्या
अंत में, इस मामले का मांस।
वर्डप्रेस का उपयोग करते समय मुझे जो स्वीकार करना था, वह डेटाबेस में "मर्ज" करने का कोई अच्छा तरीका नहीं है। इसके बजाय, हमें इसे हल करने के लिए आचरण के नियमों को विकसित करने की आवश्यकता है। नियम काफी सरल हैं, और अब तक हमारी अच्छी तरह से सेवा की है।
विकास के दौरान, एक अकेला व्यक्ति है जो साइट का मालिक है। वह व्यक्ति आमतौर पर सेटअप करता है (होस्टिंग पैकेज को एक साथ प्राप्त करना, बेसकैंप परियोजना शुरू करना, डिजाइन को छोटा करना, उस तरह की चीज)। एक बार जब वह व्यक्ति एक उचित बिंदु पर होता है, तो वर्डप्रेस के लिए डेटाबेस को स्थापित करें और इसे गिट में डाल दें। उस बिंदु से आगे, हर कोई विकास कर रहा है कि डेटाबेस डंप का उपयोग करता है, और मालिक केवल एक है जो डेटाबेस में बदलाव करता है।
साइट के निर्माण के साथ थोड़ा आगे बढ़ने पर, साइट को सर्वर पर डाल दिया जाता है। उस बिंदु से, सर्वर का डेटाबेस कैनोनिकल है। सभी (मालिक सहित) को सर्वर पर सभी डेटाबेस परिवर्तन करने होंगे और स्थानीय विकास और परीक्षण के लिए परिवर्तनों को नीचे खींचना होगा।
यह प्रक्रिया बिल्कुल सही नहीं है। यह अभी भी संभव है कि किसी को विकास के दौरान स्थानीय रूप से वर्डप्रेस बैकएंड में बदलाव करने की आवश्यकता हो, और फिर उत्पादन में उन परिवर्तनों को फिर से करना होगा। हालाँकि, हमने पाया है कि इस तरह की चीज दुर्लभ है, और यह प्रक्रिया हमारे लिए काफी अच्छी तरह से काम करती है।