टूल्स:
जेनकींस वर्। 1.470
Maven 2
सबवर्सनजेनेट्स आंशिक बिल्ड/मॉड्यूलर बिल्ड कमिट हुक
पर्यावरण
मान लें अपने निर्माण परियोजनाओं के एक नंबर ए-डी है। दिखाए गए अनुसार निर्भरता ग्राफ मौजूद है। यह कहना है: बी ए में कक्षाओं पर निर्भर करता है, सी बी में कक्षाओं पर निर्भर करता है, डी ए में कक्षाओं पर निर्भर करता है। हम जेनकींस बनाते हैं जैसे कि वे बिल्ड-बिल्ड एक्शन के रूप में उन पर निर्भर करता है।
एक
| -> बी -> सी
| -> डी
हर रात, हम एक पूर्ण निर्माण जेनकींस (ए, बनाता है ट्रिगर किए जाने को गति प्रदान बी (ट्रिगर सी), ट्रिगर डी)। यह ए को रात को बनाने के लिए आसानी से पर्याप्त किया जाता है, और शेष कैस्केड।
समस्या
हालांकि, एक प्रतिबद्ध हम परियोजनाओं है कि एक बार के लिए प्रतिबद्ध थे निर्माण करना चाहते हैं पर।
स्थिति 1: हम भंडार पोल (या commit hooks उपयोग करें, यह कोई फर्क नहीं पड़ता है) और एक बी के लिए प्रतिबद्ध था कि लगता है, तो बी का निर्माण करेगा और सी का निर्माण होगा। सफलता!
स्थिति 2: हम भंडार पोल और कहा कि बी खोजने के लिए और सी के लिए एक प्रतिबद्ध में लागू हुए थे तो जेनकींस (एक दूसरे का निर्माण बी (सी के निर्माण को ट्रिगर) के निर्माण के लिए, और निर्माण सी कोशिश करेंगे)। विफलता। देखें क्या होता है? सी दो बार बनाया गया था, कीमती निर्माण समय ले रहा था। तेजी से निर्माण रखें!
किसी को भी एक तरह से केवल एक प्रतिबद्ध निर्माण पाइप लाइन में उच्चतम परियोजना को गति प्रदान करने पता है?
मुझे लगता है एक समाधान के लिए एक जटिल SVN हुक है कि प्रत्येक पाइप लाइन में उच्चतम परियोजना को निर्धारित करता है हो सकता है ...
- स्थिति 3: बी सी और डी के लिए प्रतिबद्ध एक प्रतिबद्ध में। एसवीएन हुक पाता है सी बी पर निर्भर करता है। हुक बी और डी
परेशानियों: बहुत जटिल एसवीएन प्रतिबद्ध हुक के लिए प्रोजेक्ट-विशिष्ट लिंक को कॉल करता है। एसवीएन हुक में पाइपलाइन को बनाए रखना है।
मुझे लगता है कि यह एक समस्या है जो दूसरों ने भाग लिया है। क्या कोई जेनकींस प्लगइन है जो इसके साथ मदद करता है?
स्थिति 2 में, जेनकींस परियोजनाएं सी एंड बी एक ही एसवीएन परियोजना को देख रही हैं? – thekbb