वर्डप्रेस और गिट वर्कफ्लो


23

मुझे पता है कि यह सवाल एक हजार बार पूछा गया है, लेकिन मैं वास्तव में काम करने की कोशिश कर रहा हूं कि वर्डप्रेस के साथ काम करने के दौरान गिट से सर्वश्रेष्ठ कैसे प्राप्त किया जाए।

मैंने वेब को स्कैन किया है और दर्जनों लेख पढ़े हैं, जो सभी विषय को संक्षिप्त रूप से कवर करते हैं। यहाँ मैंने हाल ही में पढ़ा सबसे उल्लेखनीय में से कुछ है।

- संस्करण नियंत्रित वर्डप्रेस

- Git के साथ वर्डप्रेस थीम तैनाती का प्रबंधन

- FTP के बजाय git का उपयोग करके अपने कस्टम वर्डप्रेस थीम को प्रबंधित करें

वर्तमान में, मेरा वर्कफ़्लो इस तरह दिखता है।

  • स्थानीय स्तर पर वर्डप्रेस स्थापित करें
  • थीम विकसित करें
  • स्थानीय सर्वर से वर्डप्रेस डेटाबेस निर्यात करें
  • दूरस्थ सर्वर पर वर्डप्रेस डेटाबेस आयात करें
  • FTP के माध्यम से वर्डप्रेस फाइल और थीम अपलोड करें
  • ग्राहक परिवर्तन करता है
  • FTP के माध्यम से वर्डप्रेस फ़ाइलों और थीम को डाउनलोड करें और रिमोट सर्वर से वर्डप्रेस डेटाबेस निर्यात करें
  • फ़ाइलों को स्थानीय रूप से बदलें
  • विकास परिवर्तन करें
  • एफ़टीपी, निर्यात और आयात डेटाबेस के माध्यम से रिमोट सर्वर पर फिर से अपलोड करें

मुझे लगता है कि Git इस प्रक्रिया को कारगर बना सकता है। ऐसा करने का सबसे अच्छा तरीका यह है कि एक .gitignore फ़ाइल है जो कुछ निर्देशिकाओं को अनदेखा करती है, जिन्हें ट्रैक करने की आवश्यकता नहीं होती है, साथ ही स्थानीय और दूरस्थ wp-config.php फ़ाइल दोनों होती हैं।

लेकिन आप डेटाबेस को कैसे संभालते हैं? ग्राहक आमतौर पर परिवर्तन (पोस्ट / पृष्ठ / प्लगइन्स) करेंगे। क्या मुझे अभी भी दूरस्थ डेटाबेस से निर्यात करने और अपने स्थानीय सर्वर पर वापस आयात करने की आवश्यकता है?

किसी ने मेरे लिए सबसे अच्छा कार्यप्रवाह यहाँ सुझा सकते हैं? और मुझे चरणों के माध्यम से चलो।

इसके अलावा, मैं शायद Bitbucket का उपयोग करना चाहूंगा क्योंकि GitHub के विपरीत, उनके साथ निजी रिपोज मुफ्त हैं।

किसी भी सहायता की सराहना की जाएगी।

अग्रिम में धन्यवाद!


यह कैसे हुआ? क्या आपने यह अंदाजा लगाया? यहाँ एक ही मुद्दे होने।
क्वर्टी

3
क्या आप अपने प्रश्न पर थोड़ा ध्यान केंद्रित कर सकते हैं? आप git के बारे में पूछते हैं, लेकिन फिर डेटाबेस में जाते हैं और git अनिवार्य रूप से उन लोगों से निपटने का उपकरण नहीं है।
रारस्ट

4
मुझे लगता है कि आप सवाल वैध हैं। मेरे पास एक ही वर्कफ़्लो है और अन्य डेवलपर्स से बात करके देखा कि उनका भी यही वर्कफ़्लो है। लेकिन यह वास्तव में समय लेने वाला है, और त्रुटि के लिए बहुत सारे कमरे खोलता है। मुझे एक बेहतर समाधान में भी दिलचस्पी होगी।
gdaniel

जवाबों:


6

मैं WP माइग्रेट DB प्रो के डेवलपर्स में से एक हूं , और @ Ennui के प्रश्न का उत्तर देना चाहूंगा:

"क्या आप जानते हैं कि अगर db url स्क्रिप्ट को बदल देता है, तो यह धारावाहिक रूप से तार-तार हो जाता है?"

हां, यह क्रमबद्ध डेटा को हैंडल करता है। वास्तव में, यह प्राथमिक कारण है कि मैंने 2009 में प्लगइन का मुफ्त संस्करण विकसित किया। :)

दुर्भाग्य से मेरे पास केवल 41 की प्रतिष्ठा है, इसलिए @ एननुई की टिप्पणी का जवाब नहीं दे सका। उसके लिए खेद है।


1
अब 50 मिल गया :) महान प्लगइन आदमी।
एंड्रयू बार्टेल

4

मैं इसे "रचनात्मक नहीं" के रूप में बंद करने के लिए मतदान करने की सीमा पर हूं क्योंकि यह उस तरह की बात है जो उत्तर के बजाय बहस और राय को प्रस्तुत करेगी। परंतु...

ऐसा नहीं है कि मेरा कार्य प्रवाह कैसा दिखता है, और यह मेरे दृष्टिकोण (और उत्तर) को अब तक के अधिकांश उत्तरों से अलग बनाता है।

  1. स्थानीय स्तर पर वर्डप्रेस स्थापित करें
    1. यह नवीनतम स्थिर रिलीज वाले स्थानीय नंगे गिट रेपो से क्लोन किया गया है।
    2. मैं कुछ प्लगइन्स की नवीनतम रिलीज़ की एक स्थानीय प्रतिलिपि भी रखता हूं जिसे मैं लगभग हमेशा इंस्टॉल करता हूं।
  2. विषय और किसी भी प्लगइन्स आवश्यक बनाएँ
  3. सार्वजनिक मंचन सर्वर पर अपलोड करें
    1. क्लाइंट को एक्सेस दिया जाता है लेकिन वह कोड नहीं बदल सकता है और उसने बताया कि डेटाबेस एडिट्स को प्रोडक्शन साइट पर ट्रांसफर नहीं किया जाएगा।
    2. इसका मतलब यह है कि कोड को विकास सर्वर पर वापस डाउनलोड करने का कोई कारण नहीं है।
    3. और स्थानीय डेटाबेस को फिर से सिंक करने का कोई कारण नहीं है
  4. हमारे स्टाफ और ग्राहक की प्रतिक्रिया के आधार पर स्थानीय साइट में बदलाव करें।
  5. परिवर्तन अपलोड करें
  6. आवश्यक के रूप में दोहराएं (लेकिन बढ़ती प्रतिरोध के साथ :))
  7. यदि हम सामग्री प्रदान कर रहे हैं, जो हमेशा नहीं होती है, तो हम (ग्राहक नहीं) मंचन सर्वर पर डेटाबेस को साफ करेंगे और सामग्री अपलोड करेंगे।
  8. उत्पादन साइट पर स्थानीय कोड अपलोड करके तैनात करें।
  9. यदि हमने सामग्री बनाई है, तो सामग्री को वैनिला निर्यात उपकरण के माध्यम से मचान साइट से निर्यात किया जाता है और उत्पादन स्थल में आयात किया जाता है।
    1. यह केवल समय है जब मुझे डेटाबेस को स्थानांतरित करना है, और यह सुंदर मानक टूल के साथ किया जाता है। यदि आवश्यक हो तो डेटाबेस को साफ करने के लिए मैं वेलवेट ब्लूज़ अपडेट यूआरएल का उपयोग करूंगा ।
  10. डिबग
  11. समाप्त

मूल रूप से, मैं ग्राहक को अपने सामान से यथासंभव दूर रखता हूं जब तक हम साइट पर हाथ नहीं डालते।

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

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

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


1
11. अंत - आप एक WordPress साइट को बनाए रखने / सुधारने / सुधारने के लिए कभी नहीं हुए हैं?
साइमन ईस्ट

2

https://github.com/nathanielks/Wordpress-Capistrano-Deploy

मैंने खुद (अभी तक) यह कोशिश नहीं की है, लेकिन यह सब कुछ तैनात करने का दावा करता है - डीबी शामिल।

इसके साथ जाने के लिए एक ट्यूटोरियल भी है: ट्यूटोरियल भाग 1 | भाग 2


2

बेडरेक स्टैक पर एक नजर । यह वर्डप्रेस और थर्ड पार्टी प्लगइन्स के संस्करण का प्रबंधन करने के लिए संगीतकार का उपयोग करता है, और इसमें डिप्लॉय के लिए कैपिस्ट्रानो, और विकास के लिए स्थानीय वर्चुअल सर्वर सहित सर्वर स्थापित करने के लिए योनि / ansible शामिल हैं।


2

मैंने हाल ही में इस बारे में बहुत परीक्षण किया है और यहाँ मेरे द्वारा उपयोग किए जाने वाले वर्कफ़्लो हैं, जो आप के लिए पूछ रहे हैं:

  • मैं वर्डप्रेस कोर को प्रबंधित करने और वर्डप्रेस को अपडेट करने के लिए wp-cli का उपयोग करता हूं।
  • मैं प्लगइन और विषय निर्भरता का प्रबंधन करने के लिए http://wpackagist.org के साथ संगीतकार का उपयोग करता हूं ।
  • मैं .itignore में git और कोर wp फाइल्स का उपयोग करता हूं। इसलिए ज्यादातर wp-config.php और चाइल्ड थीम की फाइलें गिट में हैं।

मैं db माइग्रेशन टूल से परिचित नहीं हूँ, लेकिन इस वर्कफ़्लो के लिए एक बढ़िया अतिरिक्त होगा।

यहाँ वर्कफ़्लो पर पूर्ण विवरण हैं http://geekpad.ca/blog/post/maintainble-portable-wordpress-using-composer-wp-cli


1

डेटाबेस "क्लोनिंग" के बारे में, मैं WP माइग्रेट DB प्रो का उपयोग करता हूं: http://deliciousbrains.com/wp-migrate-db-pro/

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


1
क्या आप जानते हैं कि अगर db url स्क्रिप्ट को चलाता है तो यह धारावाहिक रूप से तार में ले जाती है? Url को बदलने के लिए एक सरल अपडेट क्वेरी खराब है क्योंकि यह किसी भी URL के साथ क्रमबद्ध स्ट्रिंग को तोड़ता है (जब तक कि नया URL पुराने URL के समान वर्ण नहीं है जो कि कम से कम कहने के लिए दुर्लभ है)। इससे टेक्स्ट विजेट और अन्य चीजों के बीच कई प्लगइन्स टूट जाते हैं। मैं अभी इस स्क्रिप्ट का उपयोग करता हूं, लेकिन अगर यह समान काम करता है तो मुझे इस प्लगइन में दिलचस्पी होगी।
एननुई

मैंने बस डेवलपर को ईमेल किया है कि वह साथ आए और उस सवाल का जवाब दे। मुझे उस (अभी तक) की आवश्यकता नहीं थी।
घातक

1
मैं अपने सभी माइग्रेशन जरूरतों के लिए इस प्लगइन का उपयोग करता हूं और अभी तक किसी भी मुद्दे को क्रमबद्ध स्ट्रिंग्स और url के प्रतिस्थापन के साथ नहीं देख सकता हूं। सभी कस्टम फ़ील्ड बिना किसी समस्या के स्थानांतरित हो जाते हैं। ध्यान रखें कि यह डिफ़ॉल्ट रूप से हर जगह बदलता है। इसमें यूजर्स / पासवर्ड / आदि शामिल हैं ...
hereswhatidid
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.