मैं अपने समय का एक अकेला डेवलपर हूं, जो कई बड़ी, मुख्य रूप से PHP- आधारित परियोजनाओं पर काम कर रहा है। मैं पेशेवर बनाना और स्वचालित करना चाहता हूं कि कोड आधार में परिवर्तन कैसे संभाला जाता है, और एक सतत एकीकरण प्रक्रिया बनाई जाती है जो मौलिक परिवर्तन किए बिना टीम में काम करने के लिए संक्रमण को संभव बनाती है।
अभी मैं जो कर रहा हूं, उसमें मेरे पास हर परियोजना के लिए एक स्थानीय परीक्षण वातावरण है; मैं प्रत्येक परियोजना के लिए एसवीएन का उपयोग करता हूं; परिवर्तनों का स्थानीय रूप से परीक्षण किया जाता है, और फिर ऑन-लाइन संस्करण में स्थानांतरित किया जाता है, आमतौर पर एफ़टीपी के माध्यम से। एपीआई प्रलेखन मैन्युअल रूप से स्रोत कोड से उत्पन्न होता है; यूनिट परीक्षण कुछ ऐसे हैं जो मैं धीरे-धीरे कर रहा हूं, और यह अभी तक मेरी दिनचर्या का हिस्सा नहीं है।
"निर्माण चक्र" मैं कल्पना कर रहा हूं निम्नलिखित कार्य करेंगे:
स्थानीय स्तर पर परीक्षण के बाद एसवीएन में एक बदलाव की जाँच की जाती है।
मैं निर्माण प्रक्रिया शुरू करता हूं। SVN HEAD संशोधन की जाँच की जाती है, यदि आवश्यक हो तो संशोधित किया जाता है, और अपलोड के लिए तैयार किया जाता है।
एपीआई प्रलेखन स्वतः उत्पन्न हो जाता है - अगर मैंने इसे अभी तक विस्तार से सेट नहीं किया है, तो डिफ़ॉल्ट टेम्पलेट का उपयोग करके, पूरे कोड आधार को स्कैन करना।
नए संशोधन FTP के माध्यम से दूरस्थ स्थान के लिए तैनात किया गया है (कुछ निर्देशिका नाम भी शामिल है, chmodding डेटाबेस आयात करने, और पसंद।) यह कुछ मैं पहले से ही की तरह है Phing बहुत ज्यादा के लिए, लेकिन मैं निश्चित रूप से विकल्प के लिए खुला रहा हूँ।
पूर्वनिर्धारित स्थान पर रहने वाली इकाई परीक्षण चलाए जाते हैं। मुझे ई-मेल, आरएसएस या (अधिमानतः) HTML आउटपुट का उपयोग करके उनकी विफलता या सफलता के बारे में सूचित किया जाता है जिसे मैं वेब पेज में पकड़ सकता हूं और डाल सकता हूं।
(वैकल्पिक रूप से) एक पूर्व-निर्धारित स्थान में एक अंतिम-उपयोगकर्ता "चैंजोगोग" पाठ फ़ाइल प्रतिबद्ध संदेश के पूर्व-परिभाषित हिस्से के साथ अद्यतन हो जाती है ("अब" फू "और" बार "दोनों को एक ही समय में फ़िल्टर करना संभव है) समय)। यह संदेश आवश्यक रूप से एसवीएन प्रतिबद्ध संदेश के समान नहीं है, जिसमें संभवतः अधिक आंतरिक जानकारी होती है।
कोड मेट्रिक्स, कोड स्टाइल चेकिंग वगैरह जैसी चीजें अभी मेरा प्राथमिक फोकस नहीं हैं, लेकिन लंबे समय तक, वे निश्चित रूप से करेंगे। समाधान जो इस आउट-ऑफ-द-बॉक्स को लाते हैं, वे बहुत दयालु हैं।
मैं खोज रहा हूँ
उन लोगों से प्रतिक्रिया और अनुभव जो एक समान स्थिति में हैं या हैं, और इसके लिए एक समाधान सफलतापूर्वक लागू किया है
विशेष रूप से, अच्छा कदम-दर-चरण ट्यूटोरियल और इसे स्थापित करने के तरीके पर चलना
समाधान जो यथासंभव स्वचालन प्रदान करते हैं , उदाहरण के लिए एक कंकाल एपीआई, परीक्षण मामलों और प्रत्येक नई परियोजना के लिए बनाकर।
और भी
- उत्पाद की सिफारिशें । अब तक जो मुझे पता है, वह निर्माण के लिए फिंग / चींटी है, और रिपोर्टिंग भाग के लिए phpUnderControl या हडसन । मैं उन सभी को पसंद करता हूं जहां तक मैं देख सकता हूं, लेकिन मुझे निश्चित रूप से उनके साथ कोई विस्तृत अनुभव नहीं है।
मैं काम के साथ बह गया हूं, इसलिए मेरे पास सरल समाधानों के लिए एक मजबूत झुकाव है। दूसरी ओर, यदि कोई सुविधा गायब है, तो मैं इसके बारे में बहुत सीमित होने के बारे में रोऊंगा। :) बिंदु और क्लिक समाधान का स्वागत करते हैं, भी है। मैं वाणिज्यिक उत्पाद सिफारिशों के लिए भी हूं जो PHP परियोजनाओं के साथ काम कर सकते हैं।
मेरा सेटअप
मैं स्थानीय रूप से विंडोज पर काम कर रहा हूं (7, सटीक होना) और ज्यादातर क्लाइंट प्रोजेक्ट्स एक LAMP स्टैक पर चलाए जाते हैं, अक्सर साझा होस्टिंग (= कोई दूरस्थ एसएसएच) पर नहीं। मैं उन समाधानों की तलाश में हूं, जिन्हें मैं अपने वातावरण में चला सकता हूं। मैं इसके लिए लिनक्स वीएम सेट करने के लिए तैयार हूं, कोई बात नहीं। होस्ट किए गए समाधान मेरे लिए केवल तभी दिलचस्प होते हैं जब वे वर्णित सभी पहलुओं को प्रदान करते हैं, या प्रक्रिया के अन्य हिस्सों के साथ बातचीत करने के लिए पर्याप्त लचीले होते हैं।
बाउंटी मैं उस उत्तर को स्वीकार कर रहा हूं जो मुझे लगता है कि मुझे सबसे अधिक लाभ देगा। यहाँ बहुत सारे उत्कृष्ट इनपुट हैं, काश मैं एक से अधिक उत्तर स्वीकार कर सकता। सबको धन्यवाद!