कई प्रतिष्ठानों में कस्टम मॉड्यूल प्रबंधित करें


19

हमारे पास कुछ कस्टम मॉड्यूल हैं जो कई साइटों के लिए उपयोग किए जाते हैं। उन्हें योगदान किए गए मॉड्यूल के रूप में जारी नहीं किया जा सकता है, उदाहरण के लिए क्योंकि वे ग्राहक विशिष्ट हैं, ऐसी धारणाएं बनाते हैं जो योगदान किए गए मॉड्यूल और इतने पर काम नहीं करते हैं।

मैं इससे निपटने के लिए निम्नलिखित संभावनाओं के बारे में जानता हूं:

  • उन्हें कॉपी और पेस्ट करें। मॉड्यूल को सभी स्थापनाओं पर अद्यतित रखने के लिए इसे स्पष्ट रूप से कठिन बनाता है।

  • एक एकल बहु-साइट स्थापना है, लेकिन यह हमेशा संभव नहीं है।

  • गिट सबमॉडल्स का उपयोग करें, लेकिन वे खराब हो सकते हैं, उन्हें अपडेट करना भूल जाना आसान है और हमेशा समर्थित नहीं हैं (जैसे पैनथियॉन)

  • ड्रश एक सामान्य गिट रिपॉजिटरी से जांच करने के लिए स्क्रिप्ट बनाते हैं। इसके लिए, आपको AFAIK को पूरी साइट के लिए ड्रश मेक का उपयोग करने की आवश्यकता है और हम वर्तमान में इसका उपयोग नहीं करते हैं।

  • http://drupal.org/project/fserver । मैंने अभी तक कोशिश नहीं की है, किसी को पता है कि क्या यह पर्याप्त स्थिर है? परियोजना का विवरण बहुत आशाजनक नहीं है और कोई 7.x संस्करण नहीं है।

कुछ और / बेहतर? आप क्या पसंद करते हैं और क्यों?


मुझे लगता है कि इन चीजों को करने का नया तरीका ऐप्स के साथ है: drupal.org/project/apps
mojzis

जवाबों:


10

Drush मेकअप दृष्टिकोण, आप पहले से ही उल्लेख किया है, संस्करण मेरी टीम का उपयोग कर रहा है।

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


धन्यवाद, मैंने आपका उत्तर स्वीकार करने का निर्णय लिया है। मुझे ड्रू बनाने की आदत डालने की ज़रूरत है, यह पता लगाएं कि कई कस्टम मॉड्यूल के साथ बड़ी परियोजनाओं में इसके साथ सबसे अच्छा सौदा कैसे करें और इससे पहले कि मैं इसका उपयोग शुरू कर सकता हूं, इससे पहले अपने सहकर्मियों को मना लें;) क्या आपके पास कोई संसाधन है कि कैसे बनाए रखा जाए; साइट, उदाहरण के लिए संस्करण को अपडेट करने का सबसे अच्छा तरीका, एक साइट का पुनर्निर्माण करना।
बेदिर

2
मेरे पास कोई संसाधन नहीं था, इसलिए मैंने एक :) drupal.stackexchange.com/questions/33403/… लिखा , यदि आप चाहें तो गहन प्रश्नों के साथ टिप्पणी करने के लिए स्वतंत्र महसूस करें। :)
सुस्ती

1

यदि सभी साइटें एक ही सर्वर पर हैं, तो आप symlinkकेंद्रीय स्थान से मॉड्यूल लोड करने के लिए उपयोग कर सकते हैं , या rsyncयदि आप कई सर्वरों के साथ काम कर रहे हैं।

यह फ़ाइलों को वितरित करने की समस्या को हल करेगा, लेकिन आपको अभी भी एक अपग्रेड फायर करना होगा। इसे drushएक सरल स्क्रिप्ट के साथ स्वचालित किया जा सकता है, जो हर साइट पर एक-एक करके अपग्रेड कहता है।


0

ऐसा लगता है कि आप लगभग सभी समाधानों के लिए बहुत ज्यादा दिखते हैं। जब मैं इसे पढ़ता हूं, तो सबसे पहले मेरे दिमाग में इसके दो अन्य उपाय आते हैं जैसे कि rsyncया symlinkफिर इसे बनाए रखना आसान नहीं है।

फिर उस मॉड्यूल गिट डिप्लॉय के बारे में याद किया गया जो वास्तव में गिट सबमॉड्यूल के साथ एक अच्छा कॉम्बो है।

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


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

0

मैं सभी योगदान / कस्टम मॉड्यूल के लिए एक अलग गिट रिपॉजिटरी का उपयोग करता हूं जहां प्रत्येक योगदान या कस्टम मॉड्यूल एक अलग शाखा में है (एक सबमॉड्यूल में नहीं)।

यहाँ कैसे मर्ज मर्ज यहाँ काम करता है:

गुरुजी

      <-- custom
        <-- custom module 1
        <-- custom module 2    

      <-- contrib
        <-- contrib module 1
        <-- contrib module 2     

मास्टर -> रिलीज

और शाखाओं को अपडेट करने के लिए एक bash / drush स्क्रिप्ट


मेरा समाधान इस लेख पर आधारित है nvie.com/posts/a-successful-git-branching-model
Refineo

हम्म। इसलिए मैं अनिवार्य रूप से रिमोट के रूप में एक और साइट जोड़ सकता हूं और वहां से एक कस्टम मॉड्यूल शाखा आयात कर सकता हूं। यह काम कर सकता है, लेकिन अपेक्षाकृत जटिल है।
बर्दिर

0

मैं हमारे कस्टम विकसित मॉड्यूल को स्टोर करने के लिए Git के बजाय SVN का उपयोग करता हूं। जब मैं लोकलहोस्ट से बदलाव करता हूं, तो मैं बस bash स्क्रिप्ट चलाता हूं, जो पूर्वनिर्धारित सर्वर स्थानों पर "svn अपडेट" कमांड चलाता है। जब भी मैं एक मॉड्यूल को एक नए स्थान पर तैनात करता हूं, तो मैं बैश स्क्रिप्ट को अपडेट करता हूं। यह वास्तव में एक सरल सेटअप है और बिना किसी परेशानी के काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.