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