version control क्यों हार्वेस्ट बिल्कुल खरीदा जा रहा है?




version-control harvest (6)

क्या आपका काम पर्यावरण हार्वेस्ट एससीएम का उपयोग करता है? मैंने इसे अब दो अलग-अलग स्थानों पर उपयोग किया है और इसे भयावह लगता है। एक स्थिति में मैंने एक रूपांतरण लिपि लिखी, ताकि मैं स्थानीय रूप से सीवीएस का उपयोग कर सकूं और फिर नींद आ रही थी तब हार्वेस्ट सिस्टम में दैनिक आयात में बदलाव आए। कॉर्प हार्वेस्ट का उपयोग करने के बारे में कट्टरपंथी था, 80% प्रोग्रामर कुछ अलग के लिए रोने के बावजूद। यह बेहद जटिल, धीमी और भारी थी अब यह मेरे लिए एक नौकरी की आवश्यकता है कि मैं कहाँ काम करता हूं, हार्वेस्ट का उपयोग नहीं है।

किसी और से पहले फसल का उपयोग किया है? आपका अनुभव क्या है? मेरा खतरा क्या है? क्या आप अन्य, अलग-अलग कामयाब काम करते हैं? आज यह उत्पाद क्यों खरीदा गया है?


संभावना है कि आपकी कंपनी के सीए के साथ कुछ प्रकार का अनुबंध है - क्या आप बहुत सी अन्य सीए सॉफ़्टवेयर का उपयोग कर रहे हैं?

संपादित करें: ऐसा लगता है!


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


मैंने एक ऐसी कंपनी के लिए काम किया था जिसे दो विकल्प थे; साफ़ करें या फसल सबवर्सन को कभी भी नहीं माना गया था, और इसका कारण यह था कि ClearCase (आईबीएम) और हार्वेस्ट (सीए) दोनों के पास पहले से ही लंबे समय तक मेनफ्रेम अनुबंध थे


ठीक है, मैं कुछ एपिसोड में इसका उत्तर देने जा रहा हूं क्योंकि इसकी देर यहां और हार्वेस्ट एक बड़ा विषय है।

सबसे पहले सीए हार्वेस्ट (जो उत्पाद के संस्करण 7 को कहते हैं, संस्करण 5 सीसीसी है, जिसे मैं विस्तार याद कर सकता हूं, संस्करण 12 को सीए एससीएम कहा जाता है) केवल एक एससीएम टूल की तुलना में बहुत अधिक है - उसी तरह ClearCase एक है एक एससीएम उपकरण से बहुत अधिक एसवीएन, सीवीएस, जीआईटी, एचजी सभी आधार-मानक एससीएम हैं और कुछ और हैं।

फसल के साथ आपको जो मिलता है वह एससीएम + पॉलिसी है। यह आपको अपने कोड को संग्रहीत करने और उसे संजोती करने की जगह देता है और यह सब कैसे नीति की जांच करता है कि देव को ठेका देने के लिए आपका संगठन कैसे परिपक्व होता है। क्या आपके पास अपने संगठन में एक नीति है कि लीड डेवलपर को क्यूए के लिए जारी किए जाने से पहले कोड पर साइन अप करना होगा? हार्वेस्ट आपको एक नीति के रूप में साइनऑफ को परिभाषित करने की अनुमति देता है, और इसे लागू कर देता है - आप "देव" राज्य से "QA" स्थिति में कोड को माइग्रेट नहीं कर सकते, जब तक लीड देव के रूप में निर्दिष्ट परियोजना में से कोई भी व्यक्ति वास्तव में ऐसा नहीं करता। क्या आपके पास एक नीति है कि किसी भी एसक्यूएल कोड को डीबीए द्वारा साइन अप करने की आवश्यकता होती है इससे पहले कि यह प्रगति हो? फसल आप उस नीति को परिभाषित करने की अनुमति देता है, और उसे लागू कर देता है - इससे पहले कि कोड माइग्रेट हो जाए, आपको दोनों लीड देव और डीबीए हस्ताक्षर की आवश्यकता हो।

हार्वेस्ट किसी भी तरह से सबसे सॉफ्टवेयर संगठनों के लिए एक उपकरण नहीं है - इसका इस्तेमाल आम तौर पर वित्त उद्योग या व्यापार में किया जाता है, जहां एक बहुत मजबूत विनियामक ढांचे से वे क्या कर सकते हैं। बैंकों को सरबेंस-ऑक्सले का पालन करने की जरूरत है, जिसमें बहुत मजबूत ऑडिटिंग आवश्यकताएं हैं। हार्वेस्ट में सभी प्रकार के नियंत्रणों को परिभाषित करने की क्षमता प्रदान की जाती है और इस प्रक्रिया में बैंक की परिसंपत्तियों में परिवर्तन उनके जीवन चक्र के माध्यम से कैसे बदल जाता है। मुझे पता है कि बड़े सार्वजनिक परिवहन संगठन हर दिन लाखों लोगों की सुरक्षा और समय की पाबंदी के लिए ज़िम्मेदार हैं, जिन्हें कसकर परिभाषित नियंत्रण तंत्र की आवश्यकता होती है, जो कि हार्वेस्ट जैसे उपकरण प्रदान करता है। मैंने भी हार्वेस्ट के वातावरण में इस्तेमाल किया है जहां 1000 डेवलपर्स का हर रोज इस्तेमाल किया जाता है - हाँ, मैं एक संगठन में 1000 से ज्यादा देवों का अतिरंजित नहीं हूं, दुनिया भर में खुदरा विक्रेता के लिए कोड लिख रहा हूं, आईटी समाधान हर दिन उनके घर के बाहर भंडारों को हराने के लिए करता है दुनिया।

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

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

अगर सॉफ्टवेयर को दुनिया भर में एक उद्यम के लिए मिल रहा है, तो डेस्कटॉप और सर्वरों के हजारों, मेनफाम / मिडरेंज / मिडलवेयर सिस्टम, लोहे से ढके हुए बदलाव की प्रक्रिया, जटिलता, नियम, अनुबंध, ऑडिटर, जटिलता का एक पूरा गुच्छा, हार्वेस्ट आपके लिए आवश्यक उपकरणों की एक पूरी सूट में सिर्फ एक टूल यदि आप कुछ सौ ग्राहकों को समर्थन करने वाले 10 देवों की एक टीम के लिए एक साधारण एससीएम चाहते हैं, तो इसका कोई बेहतर तरीका नहीं है।

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


हमने लगभग 10 वर्षों (2000-2010) के लिए हार्वेस्ट का उपयोग किया है और फिर भी हम इसे बदलने की तलाश कर रहे हैं, मेरा मानना ​​है कि यह हमें बहुत अच्छी तरह से सेवा प्रदान करता है। फसल (उस नाम से छड़ी रहें, भले ही अब यह आधिकारिक नाम नहीं है), आरएंडडी में हमें समर्थन देने के लिए हमने जो पहला प्रमुख उपकरण बनाया था, उस समय कोई भी यूफ़ हमें आवेदन जीवन चक्र के कई पहलुओं (कोड, शाखाएं, स्वचालित परीक्षण, प्रतिगमन परीक्षण, गुणवत्ता आश्वासन, कई रनटाइम वातावरण और उत्पादन, रोलबैक, emmrgency सुधार, रखरखाव अपडेट आदि पर तैनाती); आज हम बहुत अधिक जानते हैं और हमारी विकास प्रक्रिया हमें बहुत अच्छी सेवा देती है (नहीं कि कई सुधारों के लिए जगह नहीं है)। हमारे पास बहुत से पदानुक्रमित संगठन नहीं है (हमारे पास बहुत सारे निरीक्षकों की जरूरत नहीं है जो बदलावों को स्वीकार करने की आवश्यकता है), लेकिन "चेकपॉइंट" के लिए समर्थन पाने में बहुत मददगार है - विकास प्रक्रिया में अंक जहां कुछ होना चाहिए (उदाहरण के लिए कार्यात्मक परीक्षण या एकीकरण परीक्षण)।

प्रयोज्यता के संबंध में हार्वेस्ट के साथ दोष (हमारे लिए) "कोड के एक्स लाइन को बदलने के लिए प्रोग्रामर को क्या करने की आवश्यकता है" है आज (वहाँ से बाहर) हार्वेस्ट से स्रोत कोड फ़ाइलों तक पहुंच प्राप्त करने के लिए बहुत आसान और अधिक कुशल तरीके हैं, अपने अपडेट करें और फिर फाइलें फिर से लौटाएं / उन्हें विकास प्रक्रिया के अन्य पहलू (परीक्षण, तैनाती आदि) पर ले जाएं। ।)। एक और दोष कीमत है; यह महंगा है।

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

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


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







harvest