محتويات الدورة

جودة DevOps / الأساسي: أدلة التسليم وتصميم الحزم / الدرس 6

رسوم المسار والتقارير وبوابات الحزم

اجعل المسار يحفظ أدلة الفشل المفيدة ويفرض الفحوص المطلوبة فعلاً للمرشح.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • ميّز اعتماد المهام والمخابئ والحزم واستيعاب التقارير.
  • عالج العمل الغائب والفاشل والمتجاوز والملغى صراحة.

نمذج الاعتماديات لا المراحل الزخرفية

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

انشر التشخيص دون تغيير الحكم

تقارير JUnit XML والمتصفح صيغ دليل لا تعريفاً موحداً لنجاح المهمة. قد يستوعب المزود التقرير ويعتمد على حالة النص. يعلن artifacts:reports:junit في GitLab الملفات، وتضبط artifacts:when جمع الحزم العادية. تحقق على إصدار GitLab والمشغّل الفعليين. يسمي المثال أمر اختبار قائماً يجب أن يولد الملف المعلن. هو جزء مهمة عمداً ولا يفترض عمله في مستودع آخر بمجرد اللصق.

yaml جزء مهمة GitLab CI مراجع بالوثائق الحالية
component_tests:
  stage: test
  script:
    - python -m pytest tests/component --junitxml=reports/component.xml
  artifacts:
    when: always
    paths:
      - reports/
    reports:
      junit: reports/component.xml
    expire_in: 7 days

يتطلب مشغلاً باعتماديات التطبيق وpytest المثبتة ومرحلة test وبيانات اصطناعية. سبعة أيام اختيار تعليمي للاحتفاظ لا سياسة عامة. لا يخفي رفع التقرير نتيجة pytest غير الصفرية.

امنح المخبأ والحزمة ثقة مختلفة

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

اشترط اكتمال الدليل صراحة

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

python بوابة تعليمية متحفظة
def gate(expected, results):
    if set(results) != set(expected):
        return "hold: incomplete evidence"
    if any(value != "passed" for value in results.values()):
        return "hold: review results"
    return "eligible: evidence complete"

المدخلات نتائج اصطناعية سبق التحقق منها. تعني eligible استيفاء سياسة الدليل لا خلو المنتج من العيوب أو تفويض النشر. أضف مطابقة الحزمة والتحقق من المنشأ قبل استخدام منطق مماثل فعلياً.

صمم التقرير لمن سيحقق لاحقاً

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

الأخطاء الشائعة وإصلاحها

يرفع التقرير وتخضر المهمة خطأ

لماذا يحدث؟
تُجاهلت نتيجة المشغّل أو أُخفيت.
كيف تصلحه؟
احفظ حالة الاختبار مستقلة عن النشر.
كيف تتجنب تكراره؟
تحقق من حالة اصطناعية فاشلة عبر المسار كله.

يختفي جزء من القرار النهائي

لماذا يحدث؟
يقيم التجميع الملفات الواصلة فقط.
كيف تصلحه؟
قارن بوصف الأجزاء المتوقعة.
كيف تتجنب تكراره؟
عامل الدليل الغائب والملغى كحالات صريحة.

تُرقى مخرجات مخبأة لمراجعة أخرى

لماذا يحدث؟
وُثق مخبأ أداء كحزمة إصدار.
كيف تصلحه؟
استخدم مخرج بناء ثابتاً متحققاً للترقية.
كيف تتجنب تكراره؟
افصل سياسة المخبأ عن هوية الحزمة.

اختبر فهمك

1. تنجح التقارير الثلاثة الواصلة والخطة تتوقع أربعة. ما النتيجة؟

اعرض الحل المشروح

أوقف لنقص الدليل. حدد هل تجاوز الرابع أو ألغي أو فشل قبل التقرير أو لم يجدول. لا تعلن نجاحاً كاملاً بتغيير المقام للتقارير المريحة الثلاثة.

2. يحتوي أرشيف تتبع رموز جلسة. ما تغييرات التصميم؟

اعرض الحل المشروح

أزل الالتقاط الحساس أو احجبه وقيد الوصول والاحتفاظ واتبع استجابة المؤسسة للتسريب القائم. احفظ سياقاً محدوداً يكفي الإعادة دون اعتمادات. لا يجعل الاحتفاظ المحدود نشر السر آمناً.

أهم ما تعلمته

  • استيعاب التقرير ونجاح المهمة آليتان منفصلتان.
  • الاكتمال جزء من صحة الدليل.
  • تسرع المخابئ العمل وتدعم الحزم المتحققة ادعاءات الترقية.

المراجع الرسمية