تخطي إلى المحتوى

التكامل المستمر (CI)

يعد التكامل المستمر (CI) جانبًا أساسيًا من جوانب تطوير البرمجيات التي تتضمن دمج التغييرات واختبارها تلقائيًا. يسمح لنا التكامل المستمر بالحفاظ على كود عالي الجودة من خلال اكتشاف المشكلات في وقت مبكر وفي كثير من الأحيان في عملية التطوير. نحن في Ultralytics ، نستخدم اختبارات التكامل المستمر (CI) المختلفة لضمان جودة وسلامة قاعدة التعليمات البرمجية الخاصة بنا.

إجراءات المخبر الجنائي

إليك وصفاً موجزاً لإجراءاتنا في مجال الاستخبارات الجنائية:

  • CI: هذا هو اختبار CI الأساسي لدينا الذي يتضمن إجراء اختبارات الوحدات، وفحوصات التصفية، وأحيانًا اختبارات أكثر شمولًا اعتمادًا على المستودع.
  • نشر Docker Deployment: يتحقق هذا الاختبار من نشر المشروع باستخدام Docker للتأكد من أن ملف Dockerfile والبرامج النصية ذات الصلة تعمل بشكل صحيح.
  • الروابط المعطلة: يفحص هذا الاختبار قاعدة الرموز بحثًا عن أي روابط معطلة أو معطلة في ملفات markdown أو HTML.
  • CodeQL: CodeQL هي أداة من GitHub تقوم بإجراء تحليل دلالي على التعليمات البرمجية الخاصة بنا، مما يساعد في العثور على الثغرات الأمنية المحتملة والحفاظ على التعليمات البرمجية عالية الجودة.
  • نشر PyPI: يتحقق هذا الاختبار من إمكانية حزم المشروع ونشره على PyPi دون أي أخطاء.

نتائج CI

فيما يلي جدول يوضح حالة اختبارات CI هذه لمستودعاتنا الرئيسية:

المستودع CI نشر Docker Docker الروابط المعطلة كودQL PyPI ونشر المستندات
يولوف3 YOLOv3 CI نشر صور Docker Docker التحقق من الروابط المعطلة كودQL
yolov5 YOLOv5 CI نشر صور Docker Docker التحقق من الروابط المعطلة كودQL
ultralytics ultralytics CI نشر صور Docker Docker التحقق من الروابط المعطلة كودQL النشر على PyPI ونشر المستندات
hub-sdk HUB-SDK CI التحقق من الروابط المعطلة كودQL النشر على PyPI
المحور HUB CI التحقق من الروابط المعطلة
مكدوكس Ultralytics الإجراءات كودQL النشر على PyPI
ثوب Ultralytics الإجراءات كودQL النشر على PyPI
الإجراءات Ultralytics الإجراءات كودQL النشر على PyPI
المستندات Ultralytics الإجراءات التحقق من الروابط المعطلةالتحقق من النطاقات صفحات-بناء-نشر-صفحات
الكتيب Ultralytics الإجراءات التحقق من الروابط المعطلة صفحات-بناء-نشر-صفحات

تُظهر كل شارة حالة آخر تشغيل لاختبار CI المناظر على main فرع المستودع المعني. إذا فشل الاختبار، ستعرض الشارة حالة "فشل"، وإذا نجح الاختبار، ستعرض حالة "نجاح".

إذا لاحظت فشل أحد الاختبارات، سيكون من المفيد جدًا أن تبلغ عن ذلك من خلال مشكلة في GitHub في المستودع المعني.

تذكر أن نجاح اختبار CI لا يعني أن كل شيء مثالي. يوصى دائمًا بمراجعة الكود يدويًا قبل النشر أو دمج التغييرات.

تغطية الرمز

تغطية التعليمات البرمجية هي مقياس يمثل النسبة المئوية لقاعدة التعليمات البرمجية التي يتم تنفيذها عند تشغيل اختباراتك. وهي توفر نظرة ثاقبة حول مدى جودة اختباراتك في تنفيذ شفرتك ويمكن أن تكون حاسمة في تحديد الأجزاء غير المختبرة من تطبيقك. غالبًا ما ترتبط النسبة المئوية العالية لتغطية التعليمات البرمجية بانخفاض احتمال حدوث أخطاء. ومع ذلك، من الضروري فهم أن التغطية البرمجية لا تضمن عدم وجود عيوب. إنها تشير فقط إلى أجزاء الكود التي تم تنفيذها بواسطة الاختبارات.

التكامل مع codecov.io

في Ultralytics ، قمنا بدمج مستودعاتنا مع codecov.io، وهي منصة شهيرة على الإنترنت لقياس وتصور تغطية التعليمات البرمجية. توفر Codecov رؤى مفصلة ومقارنات تغطية بين الالتزامات وتراكبات مرئية مباشرة على التعليمات البرمجية الخاصة بك، مع الإشارة إلى الأسطر التي تمت تغطيتها.

من خلال التكامل مع Codecov، نهدف إلى الحفاظ على جودة التعليمات البرمجية لدينا وتحسينها من خلال التركيز على المجالات التي قد تكون عرضة للأخطاء أو تحتاج إلى مزيد من الاختبارات.

نتائج التغطية

للحصول على لمحة سريعة عن حالة تغطية التعليمات البرمجية لـ ultralytics python الحزمة، لقد قمنا بتضمين شارة وصورة مرئية لـ ultralytics نتائج التغطية. تُظهر هذه الصور النسبة المئوية للتعليمات البرمجية التي تغطيها اختباراتنا، مما يوفر مقياسًا سريعًا لجهودنا في الاختبار. للحصول على التفاصيل الكاملة يرجى الاطلاع على https://codecov.io/github/ultralytics/ultralytics.

المستودع تغطية الرمز
ultralytics كوديكوف

في الرسم البياني على شكل دائرة شمسية أدناه، الدائرة الداخلية هي المشروع بأكمله، وتتحرك بعيدًا عن المركز هي المجلدات ثم، أخيرًا، ملف واحد. يمثل حجم ولون كل شريحة عدد البيانات والتغطية على التوالي.

Ultralytics صورة كوديكوف

الأسئلة الشائعة

ما هو التكامل المستمر (CI) في Ultralytics ؟

يتضمن التكامل المستمر (CI) في Ultralytics دمج واختبار التغييرات البرمجية تلقائيًا واختبارها لضمان معايير عالية الجودة. ويتضمن إعداد التكامل المستمر لدينا تشغيل اختبارات الوحدات، وفحوصات التصفية والاختبارات الشاملة. بالإضافة إلى ذلك، نقوم بإجراء نشر Docker، وفحوصات الروابط المعطلة، وتحليل CodeQL للثغرات الأمنية، ونشر PyPI لحزم برامجنا وتوزيعها.

Ultralytics يستخدم إجراء CI محددًا للتحقق من الروابط المعطلة داخل ملفاتنا markdown وملفات HTML. وهذا يساعد في الحفاظ على سلامة وثائقنا من خلال فحص وتحديد الروابط المعطلة أو المعطلة وضمان وصول المستخدمين دائمًا إلى موارد دقيقة ومباشرة.

لماذا يعد تحليل CodeQL مهمًا لقاعدة بيانات Ultralytics'CodeQL' قاعدة الرموز؟

يعد تحليل CodeQL أمراً بالغ الأهمية بالنسبة لموقع Ultralytics حيث يقوم بإجراء تحليل دلالي للأكواد البرمجية للعثور على الثغرات الأمنية المحتملة والحفاظ على معايير عالية الجودة. باستخدام CodeQL، يمكننا تحديد المخاطر في التعليمات البرمجية الخاصة بنا والتخفيف من حدتها بشكل استباقي، مما يساعدنا على تقديم حلول برمجية قوية وآمنة.

كيف يستخدم Ultralytics Docker للنشر؟

Ultralytics يستخدم Docker للتحقق من صحة نشر مشاريعنا من خلال إجراء مخصص للتنفيذ التلقائي. تضمن هذه العملية أن ملف Dockerfile والنصوص البرمجية المرتبطة به تعمل بشكل صحيح، مما يسمح ببيئات نشر متسقة وقابلة للتكرار وهو أمر بالغ الأهمية لحلول الذكاء الاصطناعي القابلة للتطوير والموثوق بها.

ما هو دور نشر PyPI الآلي في Ultralytics ؟

يضمن النشر الآلي لـ PyPI إمكانية حزم مشاريعنا ونشرها دون أخطاء. هذه الخطوة ضرورية لتوزيع حزم Ultralytics' Python ، مما يسمح للمستخدمين بتثبيت أدواتنا واستخدامها بسهولة عبر فهرس الحزم Python (PyPI).

كيف يقيس Ultralytics تغطية التعليمات البرمجية ولماذا هو مهم؟

Ultralytics يقيس تغطية الشيفرة البرمجية من خلال التكامل مع Codecov، مما يوفر نظرة ثاقبة حول مقدار ما يتم تنفيذه من قاعدة الشيفرة أثناء الاختبارات. يمكن أن تشير التغطية العالية للشيفرة البرمجية إلى وجود شيفرة تم اختبارها جيدًا، مما يساعد على الكشف عن المناطق غير المختبرة التي قد تكون عرضة للأخطاء. يمكن استكشاف مقاييس تغطية التعليمات البرمجية التفصيلية من خلال الشارات المعروضة على مستودعاتنا الرئيسية أو مباشرة على Codecov.

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 16 يومًا

التعليقات