मैं भूमिकाओं और जिम्मेदारियों से संबंधित "सर्वश्रेष्ठ प्रथाओं" की तलाश कर रहा हूं, विशेष रूप से जो विकास शाखाओं से ट्रंक (या मुख्य) में विलय के लिए जिम्मेदार है। मूल रूप से मैं अपने कारण की मदद के लिए गोला-बारूद की तलाश कर रहा हूं।
मुझे बताएं कि मैं क्या सामना कर रहा हूं। मैं एक विशेष एप्लिकेशन का प्रमुख डेवलपर (स्वामी) हूं। हमारी कंपनी हाल ही में वीएसएस (जहां मैं वीएसएस डेटाबेस का प्रशासक था, जिसमें मेरा आवेदन संग्रहीत था) से टीएफएस (जहां मुझे केवल हमारी "संचालन" टीम द्वारा बनाई गई विकास शाखाओं पर अनुमति है) स्थानांतरित किया गया। पिछली नौकरियों में, मैं एक TFS एडमिन था, इसलिए मैं TFS और MSBuild के आसपास अपना रास्ता जानता हूं।
मेरे पास ब्रांचिंग और मर्जिंग स्ट्रैटेजी के साथ कोई समस्या नहीं है (मुख्य शाखा, बग / परियोजना विकास शाखाओं के साथ आवश्यकतानुसार, मुख्य में वापस विलय के बाद एक रिलीज शाखा में पदोन्नत)। मेरे पास जो मुद्दे हैं:
मैं अपनी शाखाएँ नहीं बना सकता। मुझे एक "ऑपरेशन" करने के लिए एक टीएफएस कार्य बनाना होगा टीम सदस्य मेरे लिए शाखा बनाएं।
मैं मुख्य से अपनी विकास शाखा में विलय नहीं कर सकता। मुझे "ऑपरेशन" करने के लिए एक TFS कार्य बनाना होगा टीम के सदस्य को मर्ज करना, और फिर उम्मीद है कि वह "ops guy" के बाद से मेरी टीमों में से किसी पर भी "कदम" नहीं करता है और डेवलपर नहीं हो सकता है और निश्चित रूप से है कोड के विलय के बारे में कोई जानकारी नहीं है।
मैं विकास से मुख्य में विलय नहीं कर सकता। फिर से मुझे "ops guy" मर्ज करने के लिए एक TFS टास्क बनाना होगा, उम्मीद है कि वह इसे सही तरीके से करे। फिर मुझे अपनी शाखा में वापस विलय करने के लिए एक और टीएफएस कार्य बनाना होगा ताकि मैं किसी भी मुद्दे को हल कर सकूं, जो कि एक गैर-डेवलपर विलय से मुख्य हो।
मैं MSBuild स्क्रिप्ट्स बना या संपादित नहीं कर सकता। फिर से मुझे "ऑप्स" टीम के साथ काम करना है जो कि MSBuild के लिए नया है, इसलिए केवल सबसे बुनियादी निर्माण कार्यों का प्रदर्शन किया जा सकता है। (कुछ भी जटिल, या स्वर्ग-एक कस्टम कार्य के बारे में भूल जाओ)।
मैं MSBuild स्क्रिप्ट निष्पादित नहीं कर सकता। फिर से केवल "ऑप्स" टीम ही ऐसा कर सकती है।
इस सब को बंद करने के लिए, आमतौर पर यह एक "ऑफ-शोर" संसाधन है जो अनुरोध किए गए कार्यों को पूरा करता है, इसलिए भले ही मैं सुबह-सुबह कार्य (शाखा / मर्ज / बिल्ड) का निर्माण करता हूं, यह संभवतः पूरा नहीं होगा। उस शाम तक।
अब मेरे पास "ऑपरेशन" टीम के साथ कोई समस्या नहीं है जो रिलीज शाखाओं को बनाए रखती है। जैसा कि वे सभी कर रहे हैं (मूल रूप से) मुख्य से नवीनतम संस्करण ले रहे हैं और इसे रिलीज शाखा को बढ़ावा दे रहे हैं; इसलिए जब तक "मेन" स्थिर और तैयार है, तब तक रिलीज़ ब्रांच अच्छी रहेगी।
मेरी राय है कि ट्रंक ("मुख्य") को बनाए रखने और विकास शाखाओं से / के लिए किसी भी मर्जिंग के लिए तकनीकी लीड (जैसे मैं) जिम्मेदार होना चाहिए। टीम लीड में एकीकरण परीक्षण वातावरण के निर्माण और तैनाती के लिए एमएस बिल्ड स्क्रिप्ट बनाने की क्षमता भी होनी चाहिए।
क्या कोई मुझे सर्वश्रेष्ठ आचरण दस्तावेज़ में निर्देशित कर सकता है जो मुझे अपना मामला साबित करने में मदद करेगा? मेरी सभी खोज ने ब्रांचिंग और मर्जिंग की तकनीकों के संबंध में केवल सर्वश्रेष्ठ अभ्यासों को बदल दिया है, और डब्ल्यूएचओ का कोई उल्लेख नहीं किया जाना चाहिए जिसमें कहा गया है कि ब्रांचिंग / विलय।
WHO should be performing said branching/merging.
एक आंतरिक संगठनात्मक निर्णय है। नहीं वास्तव में कुछ हम आप के साथ मदद कर सकता है ...