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

Spring Boot / المتقدم: المراقبة والإصدارات المتينة / الدرس 16

التغليف والنشر والإغلاق المتدرج

عامل أثر النشر والتشغيل والضبط والاستعداد والترحيل والإغلاق كعقد خدمة مُرقّم واحد.

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

أهداف الدرس

  • شرح التغليف التنفيذي وإصدارات البناء.
  • فصل أثر البناء من سر النشر.
  • تخطيط الاستعداد والتصريف المتدرج بموارد محدودة.

انشر أثراً معروفاً لا مساحة عمل عرضية

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

يحتاج خط 3.5.16 أدوات متوافقة؛ ولا يحقق Gradle9 المثبت تلقائياً مجال الدعم الموثق لـ 3.5. اختر سلسلة أو wrapper مراجعة في مشروع فعلي، ولا تثبت الدورة اعتماديات أوتشغل تغليفاً يهيئ خدمات. افصل صياغة المثال من تحقق أثر فعلي حتى لا توصف وثيقة XML ببناء ناجح.

اقرأ ضبط التغليف كعقد بناء مقترح

يعلن جزء Maven إضافة التغليف المُدارة بالأب ويفعل الطبقات؛ وليس pom كاملة أو jar مبنية أوبناء صورة منفذاً. يرتب التغليف الأصناف والاعتماد وآلية الإقلاع ولا يزيل عدم توافق المسار أو Java. اختبر الأثر بالطريقة والإصدار المقصودين في بيئة مخولة.

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

xml جزء تغليف توضيحي تحت الأب المثبت
<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <layers><enabled>true</enabled></layers>
      </configuration>
    </plugin>
  </plugins>
</build>

يمكن تحليل XML ويحتاج بقية المشروع؛ ولم تُبن jar أوصورة أوتنفيذية أصلية.

شغّل الأثر نفسه بسياسة خارجية معتمدة

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

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

نسق التصريف والاستعداد وميزانية الإغلاق

تعلن YAML الإغلاق المتدرج ومهلة كل مرحلة، ولا تثبت تصريف عملية مرصودة. طابق مهلة المنصة والتوجيه والطلب والمنفذ والتنظيف؛ فلا تضمن مهلة مرحلة انتهاء كل مهمة أونداء ضمن الميزانية الكلية.

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

yaml إعدادات تصريف تطبيق توضيحية
server:
  shutdown: graceful
spring:
  lifecycle:
    timeout-per-shutdown-phase: 20s
management:
  endpoint:
    health:
      probes:
        enabled: true
        add-additional-paths: true

تحدد القصد فقط؛ وتحتاج المنصة والطلبات والإغلاق الفعلي دليلاً تكاملياً.

تحقق من الإصدار والاسترداد كقدرتين

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

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

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

اختلف المحزم عن IDE.

لماذا يحدث؟
لم تتكرر الاعتماديات أوالضبط.
كيف تصلحه؟
افحص الأثر والتشغيل الفعليين.
كيف تتجنب تكراره؟
اختبر شكل النشر المعزول.

فشل الرجوع بعد المخطط.

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

أسقط الإغلاق عملاً غير متتبع.

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

اختبر فهمك

1. هل تضمن 20s للمرحلة إنهاء النشر كله فيها؟

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

لا؛ تهم المنصة والمراحل والطلبات والمنفذ والدوام. حدد الميزانية الكاملة واختبرها ولا تعادل خاصية واحدة نجاحاً كاملاً.

2. لماذا قد تخطر jar قديمة بعد نجاح المخطط؟

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

قد تختلف استعلاماتها وافتراضاتها وقيودها. رجوع الملف ليس رجوع البيانات؛ خطط التوافق والإصلاح أوالاستعادة وأثر الخارج صراحة.

أهم ما تعلمته

  • الأثر والتشغيل والضبط والمخطط عقد إصدار واحد.
  • يحتاج التصريف ميزانية وحالة جارية صادقة.
  • دليل الاسترداد مستقل من البناء والصياغة.

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