عمليات النشر المؤتمتة باستخدام upgrade --install --atomic
عمليات طرح آمنة وقابلة للتكرار مع التراجع التلقائي
عمليات النشر المؤتمتة باستخدام upgrade --install --atomic درس مجاني في Helm Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Helm Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Helm Academy 4 دروس في المجموع.
أمر واحد لكل عملية نشر
تريد في خط الأنابيب أمراً واحداً للنشر يعمل بنجاح في المرة الأولى وفي كل مرة بعدها. إن helm upgrade --install هو ذلك الأمر. 🚀
لماذا يجعل --install العملية متكررة بأمان
يخبر العلم --install Helm بتثبيت الإصدار إذا كان مفقوداً، أو ترقيته إذا كان موجوداً بالفعل. ولا تحتاج إلى منطق تفرّع في نص CI.
helm upgrade --install myapp ./mychartالصيغة المختصرة -i
سترون غالبًا -i بوصفه اختصارًا لـ --install. وكلاهما يعني سلوك التثبيت أو الترقية نفسه الذي تعتمد عليه الأتمتة.
helm upgrade -i myapp ./mychart -f values-prod.yamlأضف --atomic لتعزيز الأمان
يجعل الخيار --atomic الترقية عمليةً لا تقبل التجزئة: فإذا فشلت عملية النشر، يتراجع Helm تلقائيًا إلى المراجعة السابقة التي كانت تعمل.
helm upgrade -i myapp ./mychart --atomicatomic يفعّل الانتظار
نظرًا إلى أنه يجب أن يحدد مدى نجاح العملية، يفعّل --atomic الخيار --wait. يحجب Helm التنفيذ حتى تصبح الموارد جاهزة، ثم يُبقيها أو يتراجع عن كل شيء.
اضبط --timeout دائمًا
استخدم atomic مع --timeout محدد بوضوح حتى لا تتمكن حاوية متوقفة من تعليق مسار العمل إلى الأبد. وعند انتهاء المهلة، يبدأ التراجع التلقائي.
helm upgrade -i myapp ./mychart --atomic --timeout 5mثبّت إصدار المخطط
لضمان عمليات نشر قابلة لإعادة الإنتاج، مرّر --version حتى يثبّت CI إصدارًا محددًا من المخطط، وليس أي إصدار يظهر في مقدمة المستودع.
helm upgrade -i myapp myrepo/mychart --version 1.4.2 --atomicمرّر قيم البناء بسلاسة
مرّر وسم الصورة الجديد من عملية البناء باستخدام --set، مع إبقاء بقية إعداداتك مُدارة بالإصدارات في ملف values يُمرّر عبر -f.
helm upgrade -i myapp ./mychart -f values-prod.yaml --set image.tag=$SHAأنشئ مساحة الأسماء مرة واحدة
في بيئة جديدة، أضف --create-namespace حتى ينشئ النشر الأول مساحة الأسماء الخاصة به بدلًا من الفشل بسبب عدم وجود الهدف.
helm upgrade -i myapp ./mychart -n prod --create-namespace --atomicatomic مقابل cleanup-on-fail
من دون atomic، قد يترك التثبيت الفاشل موارد يتيمة. استخدم --cleanup-on-fail لحذف ما أُنشئ عند حدوث خطأ أثناء الترقية.
صادِق على بيئة التشغيل أولًا
تحتاج مهمة CI إلى الوصول إلى العنقود، لذا حمّل kubeconfig من سر قبل النشر. ويعيد Helm استخدام هذا السياق تمامًا كما يفعل kubectl.
تحقق سريع
فشلت عملية نشر مؤتمتة في منتصفها. ما الخيار الذي يجعل Helm يتراجع عنها تلقائيًا؟
مراجعة: عمليات نشر آمنة وقابلة للتكرار
استخدم helm upgrade -i --atomic --timeout لعمليات نشر غير تفاعلية تتراجع تلقائيًا عند الفشل. أمر واحد للتثبيت أو الترقية في كل تشغيل. ✅
الأسئلة الشائعة
هل درس «عمليات النشر المؤتمتة باستخدام upgrade --install --atomic» مجاني؟
نعم — نص درس «عمليات النشر المؤتمتة باستخدام upgrade --install --atomic» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Helm Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Helm Academy 4 دروس في المجموع.
ماذا ستتعلم في «عمليات النشر المؤتمتة باستخدام upgrade --install --atomic»؟
عمليات طرح آمنة وقابلة للتكرار مع التراجع التلقائي تتمرن على Helm Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Helm Academy؟
لا تُشترط خبرة سابقة. Helm Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «عمليات النشر المؤتمتة باستخدام upgrade --install --atomic»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Helm Academy هذا؟
نعم. كل درس في Helm Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- فحوصات Lint وTemplate في CI
- معاينة التغييرات باستخدام helm diff
- عمليات النشر المؤتمتة باستخدام upgrade --install --atomic
- نشر المخططات من مهمة إصدار