अपने स्रोत नियंत्रण प्रणाली में अपने कंपाइलर, पुस्तकालयों, और अन्य उपकरणों को शामिल करने के लिए क्या सिफारिशें हैं?संस्करण टू बिल्ड टूल्स और लाइब्रेरीज़ को कैसे नियंत्रित करें?
अतीत में, मैंने उन मुद्दों में भाग लिया है, हालांकि हमारे पास सभी स्रोत कोड थे, उत्पाद का पुराना संस्करण बनाना विजुअल स्टूडियो, इंस्टालशील्ड और सही सटीक कॉन्फ़िगरेशन प्राप्त करने की कोशिश करने के आसपास घूमने में एक अभ्यास था। अन्य उपकरण (सही पैच संस्करण सहित) उत्पाद बनाने के लिए उपयोग किया जाता है। मेरे अगले प्रोजेक्ट पर, मैं इन बिल्ड टूल्स को स्रोत नियंत्रण में देखकर, और फिर उनका उपयोग करके इसे टालना चाहता हूं। यह एक नई बिल्ड मशीन स्थापित करने के मामले में चीजों को भी सरल बना देगा - 1) हमारे स्रोत नियंत्रण उपकरण को स्थापित करें, 2) दाएं शाखा पर इंगित करें, और 3) निर्माण - यही वह है।
विकल्प मैं माना जाता है में शामिल हैं:
- प्रतिलिपि बनाई जा रही स्रोत स्थापित सीडी आईएसओ के लिए नियंत्रण - हालांकि यह बैकअप हम की जरूरत है हम एक पुराने संस्करण के लिए वापस जाना है, तो प्रदान करता है, यह एक अच्छा नहीं है "लाइव" उपयोग के लिए विकल्प (प्रत्येक बिल्ड को एक स्थापित चरण से शुरू करने की आवश्यकता होगी, जो आसानी से 1 घंटे का निर्माण 3 घंटों में बदल सकता है)।
- सॉफ़्टवेयर को स्रोत नियंत्रण में स्थापित करना। ClearCase आपकी शाखा को ड्राइव अक्षर पर मानचित्रित करता है; हम इस ड्राइव के तहत सॉफ्टवेयर स्थापित कर सकते हैं। यह रजिस्ट्री सेटिंग्स जैसे आपके टूल्स को इंस्टॉल करने के गैर-फ़ाइल हिस्से को ध्यान में रखता नहीं है।
- सभी सॉफ़्टवेयर इंस्टॉल करना और वर्चुअल मशीन के अंदर बिल्ड प्रक्रिया को सेट करना, स्रोत नियंत्रण में वर्चुअल मशीन को संग्रहीत करना और बूट पर निर्माण करने के लिए VM को कैसे प्राप्त करना है। जबकि हम आसानी से "बिल्ड मशीन" की स्थिति को पकड़ते हैं, हम वीएम के ऊपरी हिस्से को प्राप्त करते हैं, और यह "डेवलपर्स के मुद्दे पर समान टूल उपलब्ध कराने" में सहायता नहीं करता है।
यह कॉन्फ़िगरेशन प्रबंधन का एक बुनियादी विचार प्रतीत होता है, लेकिन मैं इसे कैसे करना है इसके लिए किसी भी संसाधन को ट्रैक करने में असमर्थ रहा हूं। सुझाव क्या हैं?
आपके पीछे जाने और पुराने संस्करण के पुनर्निर्माण के कारण क्या हैं? क्या यह डीबग प्रयोजनों के लिए है? क्या ऐसा इसलिए है क्योंकि आपने अंतिम उत्पाद को संग्रहित नहीं किया है? – JKueck