2008-09-26 7 views
10

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

मेरे वर्तमान कार्यप्रवाह:

  • एक फ़ाइल
  • में परिवर्तन करें सबवर्सन भंडार
  • करने के लिए फ़ाइल कमिट में परिवर्तन अपाचे सार्वजनिक निर्देशिका
  • देखें SFTP पर फ़ाइल नया अपलोड करें मेरा वेब ब्राउजर

यदि मेरा वर्कफ़्लो इस तरह था तो मैं बहुत खुश हूं:

  • एक फ़ाइल
  • में परिवर्तन करें सबवर्सन भंडार
  • पृष्ठभूमि में करने के लिए फ़ाइल कमिट, सबवर्सन अपाचे सार्वजनिक निर्देशिका
  • देखें में प्रतिबद्ध फ़ाइल की एक प्रतिलिपि डालता में परिवर्तन मेरा वेब ब्राउजर

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

धन्यवाद!

उत्तर

0

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

इसके बजाय मैं क्या करना चाहता हूं सर्वर सर्वर को svn की एक प्रतिलिपि बनाता है, फिर, जब मैं ऐसा कुछ भी करने के लिए तैयार हो जाता हूं, तो मैं उस पर एक svn अद्यतन करता हूं।

लेकिन यदि आप वास्तव में चाहते थे, तो आप पोस्ट-ट्रिगर ट्रिगर में कमांड डाल सकते हैं, जो आपके लिए स्वचालित रूप से सबकुछ करेगा। इसमें किसी भी गैर-कोड परिवर्तनों की देखभाल करने के लिए सर्वर पर माइग्रेशन स्क्रिप्ट चलाना शामिल हो सकता है (यदि कोई इस परिवर्तन के लिए मौजूद है)।

+0

मेरा एप्लिकेशन रन करते समय डेटाबेस स्कीमा की जांच करता है, और कुछ हद तक बाहर होने पर "अभी उपलब्ध नहीं है" पृष्ठ को शानदार ढंग से प्रदर्शित करता है। उल्लेख नहीं है कि यह एक स्टेजिंग सर्वर है, इसलिए यह वह स्थान है जहां मैं चीजों को गलत करना चाहता हूं;)। प्रतिक्रिया के लिए धन्यवाद, यद्यपि। – rmh

0

मुझे लगता है कि वास्तविक, सवाल पूछने पर आपको खुद से पूछना चाहिए --- जो आप पहले से ही खुद से पूछ चुके हैं --- यह है: "मैं इसे तैनात करने से पहले अपने कोड का सबसे आसानी से परीक्षण कैसे कर सकता हूं?"

मुझे लगता है कि एक अच्छा जवाब है अपने विकास बॉक्स पर अपाचे स्थापित करना और इसे अपने उपयोगकर्ता के रूप में चलाने के लिए, /home/richardhenry/src/mywebsite पर वेबूट और/या सीजीआई पथ के साथ चलाएं (या आप अपना कोड चेक करने वाले वाहक)।

इस तरह, आप बिना कोड किए अपने कोड का परीक्षण कर सकते हैं। नतीजतन, आप टूटे या बेकार कामों के साथ अपने ट्रंक कूड़े नहीं होंगे।आम तौर पर, स्वतंत्र चीजों को स्वतंत्र रखना एक अच्छा विचार (टीएम) होता है।

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

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

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