2013-07-03 11 views
7

के लिए कॉन्फ़िगरेशन बनाएं गिट और गिट-फ्लो का उपयोग करते समय लोग अपनी बिल्ड कॉन्फ़िगरेशन कैसे सेट कर रहे हैं? मैं कई कार्य है मैं पूरा करना चाहते हैं:गिट फ्लो

  • प्रतिबद्ध -, संकलन स्थिर कोड विश्लेषण, इकाई परीक्षण, पैकेज
  • एकता टेस्ट चलाने - चलाने के एकीकरण परीक्षणों का परीक्षण करने के लिए
  • परिनियोजित करें - एक परीक्षण करने के लिए एप्लिकेशन को तैनात पर्यावरण
  • कार्यात्मक टेस्ट - एंड-टू-एंड चलाने कार्यात्मक परीक्षण
  • तैनात क्यूए करने के लिए - एक क्यूए वातावरण में मैनुअल पुल कि धुआं परीक्षण चलाता

मास्टर, विकसित, रिलीज फीचर शाखाओं के साथ मैं उत्सुक हूं कि लोग उन्हें बिल्ड प्रक्रियाओं में कैसे मैप करते हैं।

उत्तर

2

वर्तमान में हम

  • सीआई बिल्ड
    • VCS रूट एक शाखा विनिर्देश है है जितना मुझे > विकसित - ncludes विकसित करने, सुविधा/*, रिहाई/*, हॉटफिक्स/* और मास्टर
    • एक VCS सभी शाखाओं
    • पुल अनुरोध निर्माण सुविधा शाखाओं और लिंक परिणामों का निर्माण और
    • स्वत: मर्ज गुरु को मंजूरी के लिए ट्रिगर के लिए प्रतिबद्ध
  • रिलीज़ नोट निर्माण
    • सीआई पर एक स्नैपशॉट बनाएँ
    • प्रतिबद्ध से रिलीज नोट्स उत्पन्न करता है और यह करता है
  • तैनात देव को बिल्ड
    • सीआई पर एक स्नैपशॉट बनाएँ
    • दिन में दो बार तैनात करने के लिए अनुसूचित
    • केवल विकसित शाखा
  • तैनात UAT के लिए तैनात किया जाता है का निर्माण
    • मैन्युअल चरण
    • सीआई पर एक स्नैपशॉट बनाएँ
    • केवल जारी/*, हॉटफिक्स/* या मास्टर
  • तैनात
    • मैनुअल कदम उत्पादन में
    • तैनात पर एक स्नैपशॉट UAT
    • को तैनात किया जा सकता यूएटी बिल्ड
    • केवल मास्टर को तैनात किया जा सकता है (जब रिहाई या होफ्टिक्स बंद हो जाता है तो मास्टर को धूम्रपान परीक्षण के लिए पहले यूएटी में तैनात किया जाना चाहिए)

Teamcity ऑटो मर्ज वाइल्डकार्ड के लिए अनुमति नहीं है, इसलिए हम अपने ही विधि पर काम कर रहे सिंक में शाखाओं रखने के लिए

  • मास्टर - विकास,> रिहाई/*, हॉटफिक्स/*
  • विकसित -> सुविधा/*
+0

मुझे आपके उत्तर में बताई गई प्रक्रिया पसंद है। जब आप मास्टर को ऑटो-मर्ज करते हैं -> विकसित करें तो एकमात्र भाग जिसे मैं समझ नहीं पा रहा हूं "यूएटी बिल्ड पर तैनाती" है।अगर मैं रिलीज या हॉटफिक्स शाखा से बनाया गया है तो मैं ऐसा क्यों करूं? क्या आप गिटफ्लो के फिनिश हॉटफिक्स/रिहाई का उपयोग नहीं करना चाहते हैं जब "प्रोड पर तैनाती" पूरी हो जाती है यह सुनिश्चित करने के लिए कि मास्टर मास्टर शाखा के साथ सिंक हो रहा है? –

+0

@AliB धन्यवाद जो गलत जगह पर है। यह वास्तव में मास्टर शाखा के लिए सीआई निर्माण का हिस्सा है यानी जब हॉटफिक्स या रिलीज़ बंद हो जाती है और विलय हो जाता है। मैंने अपना उत्तर – JonSquared

+0

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

संबंधित मुद्दे