2010-10-21 23 views
5

मैंने हाल ही में एक सेवा लॉन्च की है, जिसका अर्थ है कि मैं अब साइट पर सीधे काम नहीं कर सकता, या मैं जोखिम में ऐसा करता हूं।स्टेजिंग/डेवलपमेंट सर्वर सेट करने के लिए सर्वश्रेष्ठ/बेहतर/इष्टतम तरीका

मुझे विकास सर्वर बनाने के लिए कोई "मानक" या "सर्वश्रेष्ठ" तरीका नहीं मिला है। दो बातें मैंने देखा है कर रहे हैं

क) डेटा (यह काफी मेरी समस्या अधिमानतः नहीं मेरे घर कंप्यूटर का समाधान नहीं करता, मैंने कहीं विकसित करने में सक्षम होने की जरूरत है,)

की मेजबानी के लिए एक GIT या SVN का उपयोग करना

ख) Capistrano (रेल के लिए, पीएचपी के लिए कुछ है?)


वर्तमान समाधान मैं "development.domain.com" पर सर्वर की एक पूरी कॉपी रहा है देख रहा हूँ, जो तब होगा मुझे सब कुछ पर काम करने की अनुमति दें, और मैं फ़ाइलों को मुख्य अनुभाग में कॉपी कर सकता हूं।

क्या यह एक व्यावहारिक समाधान है? इष्टतम समाधान क्या है? (अलग सर्वर, विशेष उपकरण, आदि)


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

मैं एक ऑन-सर्वर समाधान ढूंढ रहा हूं।

+6

यदि आप स्रोत नियंत्रण का उपयोग नहीं कर रहे हैं तो आप 'विवा ला विदा लोक' हैं। दूसरे शब्दों में हमेशा स्रोत नियंत्रण का उपयोग करें। कोई फर्क नहीं पड़ता कि आप देव/स्टेजिंग आदि के लिए क्या करते हैं स्रोत नियंत्रण का उपयोग करें। इसे अपने लिए करें या एक दिन आप बहुत खेद करेंगे। –

+0

मुझे लगा कि स्रोत नियंत्रण एक ऐसी प्रणाली के लिए अधिक उपयुक्त है जो लोग अपनी साइट्स, स्क्रिप्ट्स, मॉड्यूल इत्यादि पर स्थापित करते हैं। मुझे लगता है कि मैं गलत हूं? बात यह है कि प्रणाली, जैसा कि है (इसमें कई विशेषताएं आ रही हैं), पहले से ही 70 एमबी है, इसका ब्लॉग इत्यादि के साथ एकीकृत है। –

उत्तर

3

तीन सुझाव:

1) आप यह सुनिश्चित करें कि अपने स्रोत कोड स्रोत नियंत्रण (Git और SVN दोनों उत्कृष्ट विकल्प हैं) के कुछ फार्म में होने की पुष्टि करने के साथ सही रास्ते पर हैं। यह प्राथमिकता # 1 होना चाहिए।

2) सब कुछ है जो एक मानक विन्यास से विचलित हो गया है स्रोत नियंत्रण के कुछ रूप में। इसका मतलब है कि आपकी अपाचे कॉन्फ़िगरेशन, आपकी php.ini, डेटाबेस कॉन्फ़िगरेशन इत्यादि। फिर जब आप अपना स्टेजिंग और देव सर्वर सेट करते हैं तो आप (अपेक्षाकृत) आश्वस्त हो सकते हैं कि आपके सभी सर्वरों में सबकुछ समान है, अन्यथा आप अनुमान लगा रहे हैं।

3) कुछ प्रकार की बिल्ड स्क्रिप्ट्स, या तो चींटी, phing, या किसी भी मशीन पर स्क्रैच से अपने पर्यावरण को विश्वसनीय बनाने के लिए उपयोग करने के लिए उपयोग की जा सकती है।

कई अन्य चीजें हैं जो आप कर सकते हैं, लेकिन यदि आप इन तीनों को लागू करते हैं तो आप आसानी से एक dev/staging सर्वर को स्थापित करने की क्षमता रखने के अपने तरीके पर होंगे। इससे आपको यह सुनिश्चित करने का अतिरिक्त लाभ भी मिलेगा कि आपके विकास के दौरान आपके सभी डेवलपर्स के समान वातावरण भी है।

0

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

+0

इस विकास को ध्यान में रखते हुए मैं सब कुछ नहीं होगा और मैं सर्वर की सेटिंग्स को पुन: पेश नहीं कर सकता (कम से कम संभवतः नहीं) –

+0

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

+0

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

2

खिड़कियों

या मैक

या

भार को एक वीएम

निजी तौर पर के लिए

www.mamp.info के लिए http://www.wampserver.com/, मैं पर एक मैक मेरी प्रोग्रामिंग करते हैं, सर्वर परीक्षण वातावरण के लिए संदिग्ध या redhat के साथ VMWare चल रहा है। मैंने अतीत में मैंप का उपयोग किया है और यह अच्छी तरह से काम करता है; लेकिन कभी-कभी मैं एक असली ऑपरेटिंग सिस्टम में काम करना पसंद करता हूं।

वह, या एक भौतिक परीक्षण सर्वर सेटअप। PHP/(डीबी की पसंद) अब कुछ भी (मैक, विंडोज़, लिनक्स)

पर निर्भर करता है कि आप इसे कैसे करना चाहते हैं, इस पर निर्भर करते हुए, आप उत्पादन सर्वर और देव में सीधे VMWare इंस्टॉल कर सकते हैं; यही है, अगर आप स्वयं सर्वर चलाते हैं। यदि आपका कॉलोकेटेड या साझा होस्टिंग पर, तो आप शायद ऐसा नहीं कर सकते हैं।

-Mario

+0

सबकुछ एक बहुत ही सुरक्षित/शक्तिशाली सर्वर पर होस्ट किया जाता है - मेरे कंप्यूटर पर इसकी सेटिंग्स को डुप्लिकेट करने का प्रयास करना असंभव हो सकता है। –

+0

सुरक्षित और शक्तिशाली और हर किसी की व्यक्तिगत राय की परिभाषा। ऐसी परिभाषा मौजूद नहीं है। – lsiunsuex

+0

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

1

आपका विकास, मंचन, और उत्पादन वातावरण ठीक वही होना चाहिए अन्यथा आप कुछ बम विस्फोट के परिवर्तन का जोखिम के रूप में आप वातावरण के बीच चलते हैं। जाहिर है आपके विकास पर्यावरण में विकास सेटिंग्स होगी (उदा।PHP के display_errors, संभवतः एक दूरस्थ डीबगर, आदि) लेकिन अन्यथा वे जितना संभव हो उतना समान होना चाहिए।

जैसा कि हर किसी ने उल्लेख किया है कि क्या आप समस्या नियंत्रण के रूप में संस्करण नियंत्रण का उपयोग नहीं कर रहे हैं। न केवल विकास के लिए यह एक अच्छा अभ्यास है बल्कि आपके विभिन्न वातावरण के बीच तैनाती को भी आसान बनाता है। यह विशेष रूप से सच है जब एक परियोजना पर काम कर रहे कई डेवलपर्स हैं।

+0

मैं तर्क दूंगा कि परीक्षण और उत्पादन वातावरण लगभग समान होने की आवश्यकता है जबकि विकास पर्यावरण सुरक्षित रूप से काफी अलग हो सकता है। – meagar