2010-06-24 12 views
5

मैं एक डीजेंगो प्रोजेक्ट की तैनाती के लिए गिट का उपयोग करना चाहता हूं जैसा कि मैंने पहले किया है, लेकिन इस बार उत्पादन फ़ाइलों (जैसे अपलोड की गई फाइलें, एसक्यूएल डीबी आदि) कहीं भी भंडार में, ताकि आप स्थानीय रूप से सर्वर पर उसी डेटा के साथ आसानी से काम कर सकें; मेरा विचार तीन शाखाओं के लिए होगा:उत्पादन-संबंधित फाइलों सहित गिट का उपयोग करके Django परिनियोजन

  • मास्टर (जिस पर "सामान्य" विकास किया जाता है/प्रतिबद्ध)
  • उत्पादन (जो अतिरिक्त उत्पादन फ़ाइलें (फ़ाइल अपलोड आदि है ...)
  • तैनाती (सेटिंग्स आदि के साथ उत्पादन सर्वर पर चल के लिए इस्तेमाल किया)

मेरे लिए समस्या है: परिवर्तन, उत्पादन शाखा में मास्टर में किया बदले बिना मर्ज करने के लिए कैसे/किसी भी उत्पादन डेटा को नष्ट करने

?

क्या चुनिंदा विलय करने का कोई तरीका है (उदाहरण के लिए मीडिया/अपलोड में फ़ाइलों को स्पर्श न करें), या किसी प्रकार की "शाखा-चयन ट्रैकिंग" या इसे संभालने की कोई अन्य संभावना है?

दूसरी तरफ मुझे सर्वर से आसानी से उत्पादन के उपयोग से आने वाले पूरे डेटा को उदाहरण के लिए कुछ डिबगिंग करने में सक्षम होने की आवश्यकता है ... (मैं इस विचार से डेटाबेस योजना में बदलाव कर रहा हूं क्योंकि उन्हें मैन्युअल रूप से या अलग तरीके से किया जा सकता है)

उत्तर

1

मैं आपके सर्वर नामों से थोड़ा उलझन में हूं, मैं इसका अधिक उपयोग कर रहा हूं: उत्पादन, स्टेजिंग, विकास।

आपको शायद डेटाबेस को एसक्यूएल कोड के रूप में डंप करना चाहिए, या जिस भी तरीके से आप डेटा आउटपुट करना चाहते हैं, उसके बाद इसे अपने मास्टर (विकास?) सर्वर में स्थानांतरित करें। आप इसे उत्पादन पर एक गिट भंडार में अपलोड करके और विकास पर खींच कर ऐसा कर सकते हैं। Fabric इसे बहुत आसान बना देगा।

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

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

अंतर्निहित Django मॉडल बदल जब हम अपने मचान और उत्पादन सर्वर पर South का उपयोग नए डेटाबेस को विस्थापित करने के लिए।

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

आप अभी भी अपने Git भंडार को स्थिर सामग्री जोड़ें बस एक उपनिर्देशिका में स्टैटिक फ़ाइलें जोड़ना चाहते हैं। तो आप या तो उस उपनिर्देशिका से सीधे सेवा करने के लिए अपना फ़ाइल सर्वर सेट कर सकते हैं, या यदि यह बहुत असुरक्षित लगता है, तो गिट किसी अन्य स्थान पर खींचें और फिर फ़ाइलों को/var/www-static/Fabric के साथ कॉपी करें।

+0

आपके उत्तर के लिए धन्यवाद, मैं फैब्रिक पर एक नज़र डालेगा। पहले से ही दक्षिण का उपयोग कर रहा है, लेकिन जैसा कि मैंने उल्लेख किया है, डेटाबेस एकमात्र समस्या नहीं है ... –

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