7

हम दो निरंतर अवधारणाओं के उपयोग के साथ हमारे निरंतर एकीकरण और निरंतर वितरण प्रक्रियाओं को कार्यान्वित कर रहे हैं: लिनक्स बाइनरी पैकेज और Docker छवियां।निरंतर एकीकरण/निरंतर तैनाती के लिए डॉकर छवियों का संस्करण

काम के अधिकांश भाग पहले से ही किया जाता है: हम GitLab रेपो से कोड लेते हैं, यह संकलन और डाल Aptly में संग्रहीत deb पैकेज में है, तो हम अन्य सेवाओं के लिए Docker चित्र बनाने और में छवियों को धक्का निजी Docker Registry सर्वर। बाद में इन छवियों को परीक्षण पर्यावरण में लुढ़काया जाता है। अंत में हम सेवाएं शुरू करते हैं और स्वीकृति परीक्षण करते हैं। यह एक सतत प्रक्रिया है और यह हर बार शुरू होता है जब कोई origin/master पर चलता है।

enter image description here

क्या अभी भी स्पष्ट नहीं है कि करने के लिए स्थिर छवियों डोकर रजिस्ट्री में जमा हो जाती भेद है?

हमें प्रत्येक छवि की स्थिति को ट्रैक करना है क्योंकि हमें स्थिर सेवर के आवधिक अपडेट करने की आवश्यकता है। जाहिर है कुछ रिलीज (यानी छवियों के संस्करण) स्वीकृति परीक्षण पास नहीं करेंगे और निरंतर वितरण के हर अगले पुनरावृत्ति पर अनुपयोगी और फ़िल्टर किए जाने के रूप में चिह्नित किए जाने चाहिए।

लगता है वहाँ इस सुविधा का कोई डिफ़ॉल्ट कार्यान्वयन है जैसे:

  1. डिफ़ॉल्ट छवि repo/tag एक छोटी सी सादे स्ट्रिंग है कि दोनों संस्करण संख्या को रोक नहीं सकते, तारीख और गुणवत्ता आश्वासन के निशान का निर्माण होता है।
  2. Labels (1.6 में पेश किया गया) एक कामकाज के लिए एक अच्छा प्रारंभिक बिंदु हो सकता है, लेकिन हम मौजूदा छवियों को पुनः लेबल करने का अवसर नहीं ढूंढ पाए (ध्यान दें कि हमें परिणामों को ध्यान में रखते हुए "मेटाडाटा" छवि को अपडेट करने की आवश्यकता है क्यूए का)। लेबल मानों से छवि को पूछताछ करने की कोई उपयोगी विधि नहीं है, लेकिन हम शायद डॉकर एपीआई को लपेट सकते हैं।

तो डॉकर छवियों को संस्करणों को असाइन करने का उचित तरीका क्या है? क्यूए से संबंधित जानकारी कैसे संग्रहीत की जा सकती है? स्थिर छवि निर्माण कैसे हम "हाइलाइट" कर सकते हैं? इन प्रयोजनों तक पहुंचने के लिए Jenkins CI की क्या विशेषताएं उपयोग की जा सकती हैं? कृपया अपना अनुभव साझा करें।

यूपीडी: थोड़ी देर के बाद मुझे डॉकर इश्यू ट्रैकर में discussion शुरू करना पड़ा। शायद किसी को भी यह उपयोगी लगेगा।

+2

आप उत्तर देना चाहिए गिटूब पर इकट्ठे इनपुट के साथ अपना स्वयं का प्रश्न और इसे स्वीकार करें।यह निश्चित रूप से दूसरों की मदद करेगा – Thomasleveil

उत्तर

1

ऐसा लगता है कि आपके प्रश्न का पहले से ही उस चर्चा लिंक में उत्तर दिया गया है, हालांकि मुझे लगता है कि ब्लीकर रिपोर्ट में हमने कभी भी डॉकर हब (निजी या होस्टेड) ​​में छवियों को धक्का नहीं दिया जो पहले सीआई पास नहीं हुआ था।

  • कोड धक्का दिया
  • CircleCI एक टैग किए गए निर्माण
  • टेस्ट अंदर टैग किए चला कंटेनर
  • बनाता है परीक्षण पारित कर दिया CircleCI एक हब के लिए टैग कंटेनर धक्का

Detailed explanation

+0

आपके उत्तर के लिए धन्यवाद। दुर्भाग्यवश CircleCI हमारे लिए मामला नहीं है, क्योंकि यह क्लाउड समाधान है, लेकिन हमें अपनी सुविधाओं पर पाइपलाइन बनाने की जरूरत है। –

+0

सर्कलसीआई को जेनकींस के साथ प्रतिस्थापित किया जा सकता है लेकिन मेरे पास दुर्भाग्य से उस के लिए एक विस्तृत पोस्ट नहीं है :(हालांकि यह वही अवधारणा है, जेनकिंस गिट प्रतिबद्ध ट्रिगर्स के लिए सुनता है, फिर डॉकर छवि का निर्माण करता है, इसे चलाता है, इसके अंदर परीक्षण करता है और फिर इसे धक्का देता है अगर यह गुजरता है तो एक रजिस्ट्री के लिए। – feelobot

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