विकास: हम एक टेम्पलेट के साथ शुरू नहीं है क्योंकि दुनिया पर्याप्त त्वरित टेम्पलेट रखरखाव एक पूर्णकालिक काम करने के लिए बदल जाता है। हम सभी को एक ही आईडीई (ग्रहण) का उपयोग करने के लिए प्रोत्साहित करते हैं, ताकि वे एक दूसरे को अपने वातावरण के साथ मदद कर सकें।
परियोजना प्रबंधन: हम अपनी परियोजनाओं का प्रबंधन करने के लिए जीएफर्ज का उपयोग कर रहे हैं। Sourceforge थोड़ा बेहतर है, लेकिन GForge बहुत सस्ता है और एक अलग लाइसेंसिंग शुल्क मॉडल है। GForge सीवीएस, एसवीएन, दस्तावेज़ भंडारण, अंक ट्रैकर्स शामिल है और सब कुछ अच्छी तरह से एकीकृत करता है। इससे यह देखना आसान हो जाता है कि परियोजना कहां है। खुले मुद्दे, और जुड़े कोड परिवर्तन के साथ बंद मुद्दों, सब कुछ एकीकृत है।
संस्करण: हालांकि हमने एसवीएन की कोशिश की, फिर भी हमने सीवीएस पर स्विच किया क्योंकि यह हमारी आवश्यकताओं को बेहतर तरीके से फिट करता है और ठीक काम करता है।
बैकअप: हमारे GForge सर्वर, हमारी सभी परियोजनाओं और स्रोत कोड का आवास, एक वीएमवेयर EX सर्वर पर चल रहा है। वीएम स्तर पर प्रतिदिन बैकअप किया जाता है और हम वीएम स्नैपशॉट्स बनाते हैं यदि हमें लगता है कि हमें किसी कारण से अधिक बार बहाल करने की आवश्यकता है।
परियोजनाओं को पुनर्जीवित करना: यह हमारे व्यापार में बहुत आम है। प्रत्येक परियोजना में इसकी सभी पुस्तकालय हैं और सीवीएस में आवश्यकताएं हैं। परियोजना हमेशा एक अप-टू-डेट विकास पुस्तिका जो एक विकास के वातावरण से चलाने के लिए सभी चरणों का वर्णन करता है, और सभी चीजें हैं जो डिफ़ॉल्ट नहीं कर रहे हैं, पर ध्यान देना साथ एक अध्याय है। हम एक यथासंभव यथासंभव वातावरण में सॉफ़्टवेयर बनाने का प्रयास करते हैं ताकि डेवलपर्स को अपनी सेटिंग्स को ट्विक करने में दिन बिताना पड़े।
लगभग सभी परियोजनाएं मेवेन का उपयोग करके बनाई गई हैं, जो हमारे डेवलपर्स के लिए जीवन को आसान बनाती है। Ususally एक परियोजनाओं को पुनर्जीवित केवल कुछ ही कदम लेता है: (extssh ग्रहण में बनाया गया है)
परियोजना (डिफ़ॉल्ट "चेक आउट" विकल्प) चेक बाहर SSH पर
- डाउनलोड सीवीएस को ग्रहण
- कनेक्ट
- "मैवेन ग्रहण" चलाएं और ग्रहण
- ग्रहण में unittests चलाएं यह देखने के लिए कि सबकुछ काम कर रहा है या नहीं।
बनाता है: हमारी सभी परियोजनाएं एक अलग निर्माण सर्वर पर बनाई गई हैं। हर सुबह बिल्ड सर्वर पूरी तरह से निर्माण करता है और सीवीएस टैग करता है अगर सभी unittests सफल होते हैं। दिन के दौरान, घंटे के निर्माण किए जाते हैं और जब विफलता होती है तो टीम को स्वचालित रूप से एक ईमेल प्राप्त होता है। आम तौर पर हम प्रति परियोजना एक बिल्ड सर्वर का उपयोग करते हैं, और यह एक साधारण लंटबिड सर्वर (लिनक्स, टोमकैट, लंटबिल्ड) है।
दोनों बिल्डर्स और कभी-कभी डेवलपर मशीन भी वीएम हैं। यह एक परियोजना को वास्तव में आसान बनाता है। फाइलसेवर से वीएम प्राप्त करें, इसे शुरू करें, और आप जाने के लिए अच्छे हैं।
बिल्ड सर्वर दैनिक साइटें बनाता है जो अनजान कवरेज आंकड़े, जटिलता माप, सीवीएस गतिविधि और डेवलपर गतिविधि दिखाते हैं (जो बदलते हैं और कब)।
हमारे सभी सॉफ़्टवेयर में निर्मित स्वयं-निर्माण डेटाबेस स्क्रिप्ट के साथ आता है। कॉन्फ़िगरेशन फ़ाइल को डेटाबेस में इंगित करें, सॉफ़्टवेयर प्रारंभ करें, और यह पता चलता है कि इसे डेटाबेस में क्या करना है। यह वास्तव में काम में आता है क्योंकि बिल्डर्स सिर्फ सॉफ्टवेयर शुरू कर सकता है। कोई विशेष कदम की जरूरत नहीं है।हमारे ग्राहक भी खुश हैं, उन्हें कभी भी अपने डेटाबेस, या स्क्रिप्ट को अपग्रेड करने की चिंता करने की आवश्यकता नहीं है।
बजट प्रोजेक्ट के लिए कुछ बाहरी स्प्रेडशीट्स के अतिरिक्त, पूरे परियोजना जीवनशैली को GForge में प्रबंधित, दस्तावेज और ट्रैक किया जाता है क्योंकि यह आसान है।
Wether आपके पास एक एकीकृत प्रोजेक्ट सर्वर है या नहीं, मुझे लगता है कि सिस्टम होना वास्तव में महत्वपूर्ण है। यह आपको डेवलपर्स को खोए बिना परियोजनाओं के बीच स्विच करने में सक्षम बनाता है। यह समय बचाता है। विशेष रूप से जब कोई ग्राहक पुराने सॉफ्टवेयर पर संशोधन के लिए 2 या 3 वर्षों के बाद आपके पास वापस आता है (हाँ, ऐसा होता है)।
हमारे द्वारा उपयोग की जाने वाली सभी सामग्री ओपन सोर्स है (आप GForge के ओपन सोर्स कांटे का भी उपयोग कर सकते हैं)। यह उपकरण में नहीं है, इस तरह आप उनका उपयोग करते हैं।
धन्यवाद एली। अच्छा बिंदु भी, मुझे काम की प्रकृति में थोड़ा सा जोड़ने दो। – ccook