संस्करण नियंत्रण PHP वेब परियोजना

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

संस्करण को नियंत्रित करने का सही तरीका और सबसे अच्छा तरीका क्या है?

हमारे पास एक एसवीएन सेट अप है, लेकिन हमें केवल इन और आउट करने के लिए एक अच्छा तरीका खोजने की ज़रूरत है जो हमें विकास सर्वर पर परीक्षण करने की अनुमति देता है। कोई विचार?

0
ro fr bn

8 उत्तर

एक संभावित तरीका (शायद बेहतर तरीके हैं):

आप में से प्रत्येक को परियोजना का अपना चेक आउट संस्करण होना चाहिए।

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

0
जोड़ा

आप में से प्रत्येक इसे स्थानीय रूप से, या अपने स्वयं के देव सर्वर पर चला सकता है (या यहां तक ​​कि एक ही बंदरगाह के साथ एक ही ...)।

0
जोड़ा

यहां हम क्या करते हैं:

  • प्रत्येक देव के पास एक वीएम है जो हमारे एकीकरण सर्वर की तरह कॉन्फ़िगर किया गया है
  • एकीकरण सर्वर में ट्रंक, प्रत्येक उपयोगकर्ता और शाखाओं के लिए कुछ स्लॉट के लिए स्थान है
  • उत्पादन सर्वर
  • हुक्स सबवर्सन में ई-मेल करने के लिए होते हैं जब काम करता है

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

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

ट्रंक का पुनर्निर्माण किया जाता है, परीक्षणों का पूरा सूट चलाया जाता है, और यदि सब अच्छा है तो यह स्वीकृति का बड़ा ओल 'टिकट मिलता है, एसवीएन में टैग किया जाता है, और रात के अंत में उत्पादन में पदोन्नत किया जाता है।

यदि किसी भी समय किसी और द्वारा किए गए वचन को बनाया जाता है, तो हमें एक ई-मेल मिलता है और उन परिवर्तनों को हमारी व्यक्तिगत शाखाओं में विलय कर सकता है।

0
जोड़ा

PHP विकास के लिए उपversण का उपयोग करने का एक तरीका भी एक या सभी तीन डेवलपर्स के लिए एक संग्रह है, और इस संस्करण का उपयोग वास्तविक संस्करण नियंत्रण की तुलना में एक सिंकिंग टूल के रूप में करें।

आप ऐसा कर सकते हैं,

  • एक रेपो बनाएं

  • अपनी परियोजना की अपनी संपूर्ण PHP दस्तावेज़ संरचना

  • जोड़ें
  • इस रेपो की एक प्रति अपने dev सर्वर पर सही स्थान पर चेक करें

  • एक svn हुक का उपयोग करें, जो प्रतिबद्ध पर सक्रिय होता है

यह हुक, जब भी टीम में कोई भी किसी भी कोड में चेक करता है, तो देव सेवर की सामग्री को स्वचालित रूप से अपडेट कर देगा।

हुक में रहता है:

svn_dir / repo_name / हुक / उत्तर प्रतिबद्ध

और ऐसा लग सकता है:

/ usr / bin / svn up / path_to / webroot --username svn_user --password svn_pass

यह आपकी कार्यशील प्रतिलिपि को नवीनतम सर्वर में dev सर्वर पर अपडेट करेगा।

0
जोड़ा

हम एक समान स्थिति में थे, और यहां हम क्या कर रहे हैं:

  • दो शाखाएं - रिलीज और विकास शाखा सेट करें।
  • विकास शाखा के लिए, एक पोस्ट-प्रतिबद्ध हुक शामिल करें जो dev सर्वर पर भंडार को तैनात करता है, ताकि आप परीक्षण कर सकें।
  • एक बार जब आप तैयार हों, तो आप रिलीज शाखा में अपने परिवर्तन मर्ज करें। मैं तैनाती के लिए एक पोस्ट-प्रतिबद्ध हुक डालने का भी सुझाव दूंगा।

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

हमें एक एकल विकास सर्वर का उपयोग करना पड़ा, क्योंकि हम मालिकाना सीएमएस का उपयोग कर रहे थे और लाइसेंसिंग मुद्दों में भाग गए थे। तो हमारे पोस्ट-प्रतिबद्ध हुक एक साधारण एफ़टीपी बॉट था।

0
जोड़ा

निर्माण के लिए आप जिस अन्य टूल का उपयोग कर सकते हैं वह TeamCity है जो 20 बिल्ड कॉन्फ़िगरेशन के लिए नि: शुल्क है (अधिकांश के लिए पर्याप्त छोटी कंपनियों / परियोजनाओं।) इस तरह आप अपने परीक्षणों के साथ-साथ अनुसूची निर्माण भी चला सकते हैं।

0
जोड़ा

Beanstalk has built-in post-commit hooks for deploying to development, staging, and production servers.

0
जोड़ा

कुछ वितरित के बारे में क्या? आप Mercurial के साथ उदाहरण के लिए शुरू कर सकते हैं, विभिन्न वर्कफ़्लो आज़माएं, और देखें कि कौन सा सबसे अच्छा फिट बैठता है।

0
जोड़ा