مرحبا بالجميع! الأصدقاء ، في اليوم الأخير من الشتاء ،
سنطلق بثًا جديدًا في الدورة التدريبية
"ممارسات وأدوات DevOps" . تحسبا لبداية الدورة التدريبية ، فإننا نشارك معك الجزء الأول من المقالة: "أنماط CI / CD وأنماط مضادة".

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

في مخطط خط أنابيب النشر أعلاه ، كل الأنماط لها سياق. تغطي بعض الأنماط عدة مراحل من خط الأنابيب هذا ، لذلك اخترت المرحلة التي يتم استخدامها في أغلب الأحيان.
1.1 إدارة التكوين - الأنماط والأنماط المضادة1.1.1 برامج الجهات الخارجية المخصصة- النمط: قم بتقييم واستخدام برنامج تابع لجهة خارجية يمكن تهيئته بسهولة ونشره وأتمتة.
- Anti-pattern: برنامج لا يمكن تهيئته خارجيًا. برنامج بدون واجهة API أو سطر أوامر يتطلب أمرًا لاستخدام واجهة المستخدم الرسومية.
1.1.2 دليل التكوين- النمط: دعم كتالوج لجميع المعلمات لكل تطبيق ، وطرق لتغيير هذه المعلمات وموقع التخزين لكل تطبيق. إنشاء كتالوج تلقائي كجزء من عملية الإنشاء.
- مكافحة الأنماط: معلمات التكوين ليست موثقة. كتالوج جميع التطبيقات والأصول الأخرى هو "فولكلور" محلي لا يوصف.
1.1.3 الخط الرئيسي- نمط: التقليل من عمليات الدمج ، والسيطرة على عدد من الخط النشط من خلال العمل في الخط الرئيسي.
- مكافحة الأنماط: عدة فروع لكل مشروع.
1.1.4 الدمج اليومي- النمط: يتم تطبيق التغييرات التي يتم الالتزام بها في الخط الرئيسي على جميع الفروع على الأقل يوميًا.
- مكافحة الأنماط: دمج كل التكرارات مرة واحدة في الأسبوع أو أقل من مرة واحدة في اليوم.
1.1.5 التكوين الآمن- النمط: تخزين معلومات التكوين في مكان آمن يمكن الوصول إليه عن بُعد ، على سبيل المثال ، في قاعدة بيانات أو دليل أو سجل.
- Anti-patterns: افتح كلمات مرور النص و / أو كمبيوتر واحد أو مورد مشترك.
1.1.6 مستودع- النمط: يتم تحميل جميع الملفات المصدر - التعليمات البرمجية القابلة للتنفيذ ، التكوين ، بيئة المضيف ، البيانات - إلى المستودع مع التحكم في الإصدار.
- مكافحة النمط: بعض الملفات مضغوطة ، والبعض الآخر ، على سبيل المثال ، تكوينات البيئة أو تغييرات البيانات ، ليست كذلك. يتم فحص الملفات الثنائية التي يمكن إعادة إنشائها أثناء عملية الإنشاء أو النشر.
1.1.7 الفروع قصيرة العمر- النمط: يجب أن تكون الفروع قصيرة الأجل ، من الناحية المثالية ، عدة أيام وليس أكثر من تكرار واحد.
- مكافحة الأنماط: فروع تعيش أطول من التكرار. فروع لوظائف المنتج ، الذين يعيشون بعد الإصدار.
1.1.8 بيئة الفريق- النمط: تحقق من مستودع المشروع من خلال التحكم في الإصدار وتشغيل أمر واحد لإنشاء التطبيق ونشره على أي بيئة متاحة ، بما في ذلك التطوير المحلي.
- Anti-pattern: اطلب من المطور تعريف وتكوين متغيرات البيئة. إجبار المطور على تثبيت العديد من أدوات الإنشاء / النشر.
1.1.9 طريقة واحدة للتشغيل- النمط: إدارة تكوين النظام بأكمله - المصادر ، التكوين ، البيئة ، البيانات. يمكن تتبع أي تغييرات لمراجعة محددة في نظام التحكم في الإصدار.
- مكافحة الأنماط: أجزاء من النظام لا تملك نسخة. غير قادر على العودة إلى إعداد برنامج النظام السابق.
1.2 CI التكامل المستمر - أنماط ومكافحة الأنماط1.2.1 بناء العتبة- النموذج: يتعطل التجميع عند انتهاك قواعد المشروع. على سبيل المثال ، انتهاكات الهندسة المعمارية ، الاختبارات البطيئة ، انتهاك معايير كتابة التعليمات البرمجية.
- المضادة للأنماط: مراجعة دليل رمز. الكشف عن مشكلات جودة الرمز في المراحل اللاحقة من دورة التطوير.
1.2.2 الالتزامات المتكررة- النمط: يتم تسجيل دخول كل عضو من أعضاء الفريق بانتظام - مرة واحدة على الأقل يوميًا ، ولكن بعد كل مهمة بشكل مثالي لتنشيط نظام CI.
- مكافحة الأنماط: يتم الالتزام بملفات المصدر أقل من مرة واحدة في اليوم بسبب عدد التغييرات التي أجراها المطور.
1.2.3 ردود الفعل المستمرة- النمط: إرسال تعليقات تلقائية من نظام CI إلى جميع أعضاء الفريق متعدد الوظائف.
- المضادة للأنماط: لا يتم إرسال الإخطارات. يتم تجاهل الإشعارات ؛ يرسل نظام CI المعلومات إلى أي شخص لا يمكن استخدامه.
1.2.4 التكامل المستمر- النموذج: يحدث تجميع البرامج واختبارها بعد تنفيذ أي تغييرات على مستودع المشروع مع التحكم في الإصدار.
- المضادة للأنماط: التجميعات المجدولة ، التجميعات الليلية ، التجميعات الدورية ، التجميعات حصرا على آلة المطور ، الافتقار الكامل للتجميع.
1.2.5 مبدأ "خط التوقف"- النمط: إصلاح جميع أخطاء تسليم البرامج بمجرد ظهورها ؛ "اوقف الخط". لا أحد يقوم بالتحقق من التجميع المكسور ، لأن تحديده له الأولوية القصوى.
- Anti-pattern: التجميعات تظل مقطوعة لفترة طويلة ، وبالتالي تمنع المطورين من التحقق من كود العمل.
1.2.6 الجمعية المستقلة- النمط: تتم كتابة البرامج النصية للبناء منفصلة عن IDE. يتم تنفيذ هذه البرامج النصية بواسطة نظام CI بحيث يتم تنفيذ التجميع مع كل تغيير.
- مكافحة الأنماط: يعتمد البناء التلقائي على تكوين IDE. غير قادر على بدء التجميع من سطر الأوامر.
1.2.7 لوحات المعلومات المرئية- نمط: من الممكن أن ترى كل المعلومات حول نظام التسليم الخاص بك. لتوفير جودة عالية في الوقت الحقيقي ردود فعل فريق عبر.
- مكافحة الأنماط: التنبيهات تأتي فقط عن طريق البريد الإلكتروني. لم يتم نشر التعليقات للفريق بأكمله.
نهاية الجزء الاول.
هنا هذه المواد. يمكنك قراءة استمرار الترجمة
هنا ، والآن نحن في انتظار تعليقاتك ونحن ندعوك إلى
ندوة عبر الإنترنت مفتوحة ، والتي ستعقد الليلة.