- النشر الصغير المتكرر أقل خطرا من النشر الكبير النادر.
- كل مرحلة في الخط بوابة جودة لا خطوة شكلية.
- الرجوع السريع أهم من محاولة منع كل خطأ.
- البيئات يجب أن تتطابق قدر الإمكان.
مراحل الخط
- البناء — تجميع الكود وإنتاج مخرج ثابت يستعمل في كل البيئات.
- الاختبار — وحدة وتكامل، سريعة، وتوقف الخط عند الفشل.
- الفحص — أمني وأسرار واعتماديات وجودة كود.
- النشر للاختبار — بيئة قريبة من الإنتاج للتحقق.
- النشر للإنتاج — تدريجيا مع مراقبة ورجوع تلقائي عند المؤشرات السيئة.
مخرج واحد لكل البيئات
ابن مرة وانشر المخرج نفسه في كل بيئة، وغير الإعدادات لا الكود. فبناء نسخة لكل بيئة يعني أن ما اختبرته ليس ما نشرته. وهذا مصدر أعطال يصعب تفسيرها: يعمل في الاختبار ويفشل في الإنتاج.
استراتيجيات النشر
| الطريقة | الوصف | الميزة |
|---|---|---|
| استبدال مباشر | إيقاف القديم وتشغيل الجديد | بسيطة مع توقف قصير |
| تدريجي | استبدال النسخ واحدة تلو أخرى | بلا توقف |
| أزرق وأخضر | بيئتان متطابقتان وتبديل التوجيه | رجوع فوري |
| كناري | نسبة صغيرة من المستخدمين أولا | يكشف المشكلة بأقل ضرر |
الرجوع السريع
لن تمنع كل خطأ. والمهم أن تكتشفه بسرعة وترجع بسرعة. واجعل الرجوع خطوة واحدة مؤتمتة ومختبرة لا عملية يدوية تحت الضغط. وانتبه لترحيلات قاعدة البيانات: الرجوع في الكود لا يرجع تغييرا في المخطط.
أعلام المميزات
فصل النشر عن الإطلاق: تنشر الكود معطلا بعلم ميزة، ثم تفعله لشريحة ثم للجميع. فيصبح إيقاف ميزة مشكلة إعدادا لا نشرا عاجلا. وهذا من أقوى أدوات تقليل مخاطرة النشر.
أسئلة شائعة
كم مرة ننشر؟
كلما زاد التكرار قل حجم كل تغيير وقلت مخاطرته. والفرق الناضجة تنشر يوميا أو أكثر، والفريق الذي ينشر مرة كل شهر يواجه في كل مرة نشرا كبيرا معقد التشخيص.
ماذا عن ترحيلات قاعدة البيانات؟
تكتب متوافقة مع الإصدارين: أضف العمود أولا وانشر الكود الذي يستعمله ثم احذف القديم في نشرة لاحقة. فالتغيير الكاسر في خطوة واحدة يمنع الرجوع.
هل نحتاج بيئة اختبار مطابقة؟
التطابق التام مكلف، والقرب الكافي ضروري: النسخ نفسها من التقنيات والإعدادات المماثلة. والفروق الكبيرة تنتج ثقة زائفة في نتائج الاختبار.
- التكامل المستمر
- النشر المستمر
- خط البناء
- الأتمتة
- الاختبار الآلي
- استراتيجيات النشر
- هندسة البرمجيات
- السحابة والبيانات