सामग्री पर जाएं

सतत एकीकरण (सीआई)

निरंतर एकीकरण (सीआई) सॉफ्टवेयर विकास का एक अनिवार्य पहलू है जिसमें परिवर्तनों को एकीकृत करना और उन्हें स्वचालित रूप से परीक्षण करना शामिल है। सीआई हमें विकास प्रक्रिया में जल्दी और अक्सर मुद्दों को पकड़कर उच्च गुणवत्ता वाले कोड को बनाए रखने की अनुमति देता है। पर Ultralytics, हम अपने कोडबेस की गुणवत्ता और अखंडता सुनिश्चित करने के लिए विभिन्न सीआई परीक्षणों का उपयोग करते हैं।

सीआई क्रियाएं

यहां हमारी सीआई कार्रवाइयों का संक्षिप्त विवरण दिया गया है:

  • सीआई: यह हमारा प्राथमिक सीआई परीक्षण है जिसमें रिपॉजिटरी के आधार पर यूनिट परीक्षण, लाइनिंग चेक और कभी-कभी अधिक व्यापक परीक्षण शामिल होते हैं।
  • डॉकर परिनियोजन: यह परीक्षण डॉकर का उपयोग करके प्रोजेक्ट की तैनाती की जांच करता है ताकि यह सुनिश्चित हो सके कि डॉकरफाइल और संबंधित स्क्रिप्ट सही ढंग से काम कर रहे हैं।
  • टूटी कड़ियाँ: यह परीक्षण हमारे में किसी भी टूटे हुए या मृत लिंक के लिए कोडबेस को स्कैन करता है markdown या HTML फ़ाइलें।
  • कोडक्यूएल: CodeQL GitHub का एक उपकरण है जो हमारे कोड पर सिमेंटिक विश्लेषण करता है, संभावित सुरक्षा कमजोरियों को खोजने और उच्च-गुणवत्ता वाले कोड को बनाए रखने में मदद करता है।
  • PyPi प्रकाशन: यह परीक्षण जांचता है कि क्या प्रोजेक्ट को बिना किसी त्रुटि के PyPi पर पैक और प्रकाशित किया जा सकता है।

सीआई परिणाम

नीचे हमारे मुख्य रिपॉजिटरी के लिए इन सीआई परीक्षणों की स्थिति दिखाने वाली तालिका है:

कोष सीआई डॉकर परिनियोजन टूटी कड़ियाँ कोडक्यूएल PyPi और डॉक्स प्रकाशन
योलोव3 योलोव3 सीआई डॉकर छवियाँ प्रकाशित करें टूटे हुए लिंक की जाँच करें कोडक्यूएल
yolov5 YOLOv5 सीआई डॉकर छवियाँ प्रकाशित करें टूटे हुए लिंक की जाँच करें कोडक्यूएल
ultralytics ultralytics सीआई डॉकर छवियाँ प्रकाशित करें टूटे हुए लिंक की जाँच करें कोडक्यूएल PyPI पर प्रकाशित करें और डॉक्स तैनात करें
hub HUB सीआई टूटे हुए लिंक की जाँच करें
डॉक्स टूटे हुए लिंक की जाँच करें pages-build-deployment

प्रत्येक बैज संबंधित सीआई परीक्षण के अंतिम रन की स्थिति दिखाता है main संबंधित भंडार की शाखा। यदि कोई परीक्षण विफल हो जाता है, तो बैज "असफल" स्थिति प्रदर्शित करेगा, और यदि यह पास हो जाता है, तो यह "पास" स्थिति प्रदर्शित करेगा।

यदि आप किसी परीक्षण को विफल होते हुए देखते हैं, तो यह बहुत मददगार होगा यदि आप इसे संबंधित रिपॉजिटरी में GitHub समस्या के माध्यम से रिपोर्ट कर सकते हैं।

याद रखें, एक सफल सीआई परीक्षण का मतलब यह नहीं है कि सब कुछ सही है। परिनियोजन या परिवर्तनों को मर्ज करने से पहले कोड की मैन्युअल रूप से समीक्षा करने की हमेशा अनुशंसा की जाती है।

कोड कवरेज

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

codecov.io के साथ एकीकरण

पर Ultralytics, हमने अपने रिपॉजिटरी को codecov.io के साथ एकीकृत किया है, जो कोड कवरेज को मापने और विज़ुअलाइज़ करने के लिए एक लोकप्रिय ऑनलाइन प्लेटफ़ॉर्म है। कोडकोव विस्तृत अंतर्दृष्टि, कमिट के बीच कवरेज तुलना और सीधे आपके कोड पर विज़ुअल ओवरले प्रदान करता है, यह दर्शाता है कि कौन सी लाइनें कवर की गई थीं।

कोडकोव के साथ एकीकरण करके, हमारा लक्ष्य उन क्षेत्रों पर ध्यान केंद्रित करके अपने कोड की गुणवत्ता को बनाए रखना और सुधारना है जो त्रुटियों से ग्रस्त हो सकते हैं या आगे के परीक्षण की आवश्यकता हो सकती है।

कवरेज परिणाम

जल्दी से कोड कवरेज स्थिति की एक झलक पाने के लिए ultralytics python पैकेज, हमने एक बैज और सनबर्स्ट दृश्य शामिल किया है ultralytics कवरेज परिणाम। ये छवियां हमारे परीक्षणों द्वारा कवर किए गए कोड का प्रतिशत दिखाती हैं, जो हमारे परीक्षण प्रयासों की एक नज़र मीट्रिक की पेशकश करती हैं। पूर्ण विवरण के लिए कृपया https://codecov.io/github/ देखेंultralytics/ultralytics.

कोष कोड कवरेज
ultralytics कोडेकोव

नीचे दिए गए सनबर्स्ट ग्राफिक में, अंतरतम सर्कल पूरी परियोजना है, केंद्र से दूर जाने वाले फ़ोल्डर हैं, अंत में, एक एकल फ़ाइल। प्रत्येक स्लाइस का आकार और रंग क्रमशः बयानों की संख्या और कवरेज का प्रतिनिधित्व कर रहा है।

Ultralytics कोडकोव छवि



2023-11-12 बनाया गया, अपडेट किया गया 2023-12-03
लेखक: ग्लेन-जोचर (2)

टिप्पणियाँ