بناء مسار CI/CD فعال: من جهاز افتراضي جديد إلى الأتمتة الكاملة

"يرشد هذا الدليل مطوري التقنية خلال عملية إعداد مسار CI/CD متكامل، بدءاً من جهاز افتراضي جديد وصولاً إلى الأتمتة الكاملة لمشروع Python. يغطي الدليل استخدام أدوات أساسية مثل GitLab وDocker وSonarQube لضمان عملية تطوير ونشر فعالة وموثوقة."
عند العمل في مختبر تدريب أو بيئة مستضافة ذاتياً، لا تبدأ دائماً بمحطة عمل مطور جاهزة. في بعض الأحيان، تجد نفسك أمام جهاز افتراضي (VM) عادي، ومشروع مضغوط، ونسخة محلية من GitLab و SonarQube، وموعد نهائي يجب الالتزام به.
يرشدك هذا الدليل خلال العملية الكاملة للانتقال من جهاز افتراضي جديد مبني على Debian إلى مسار CI/CD يعمل بشكل كامل لمشروع Python. يتضمن هذا الإعداد استخدام مجموعة من الأدوات الأساسية مثل VS Code، وGit، وGitLab، وSonarQube، وDocker، بالإضافة إلى Docker Compose كخيار إضافي. تبدأ العملية بالتحقق من جاهزية الجهاز الافتراضي ومن ثم الوصول إلى الخدمات المحلية، حيث يكون GitLab متاحاً على http://gitlab.localdomain و SonarQube على http://localhost:9000.
بعد التحقق من جاهزية النظام، يتم فك ضغط المشروع واستعراض محتوياته لفهم هيكله، والذي عادةً ما يتضمن app.py، وrequirements.txt، وtests/test_app.py. من الضروري تشغيل التطبيق واختباره محلياً قبل البدء في إعداد CI/CD. يتم تثبيت التبعيات باستخدام pip install -r requirements.txt وتشغيل التطبيق بـ python3 app.py. ثم تُختبر الوظائف عبر curl http://localhost:5000. تُعد هذه الخطوات حاسمة لضمان عمل المشروع بشكل صحيح وتحديد أي مشكلات قبل دمجها في المسار الآلي.
تبدأ مرحلة التحكم في الإصدار بتهيئة Git في مجلد المشروع، وإنشاء استراتيجية فروع بسيطة تتضمن main (للإصدارات المستقرة)، وdevelop (للتكامل اليومي)، وtest (للتحقق الاختياري أو تجارب المسار). بعد ذلك، يتم إنشاء مشروع جديد في GitLab على http://gitlab.localdomain، ويتم ربط المستودع المحلي بالبعيد، ثم دفع الشيفرة الأولية. تشير الوثائق إلى أن هذا الإعداد يعتمد على مصادقة اسم المستخدم وكلمة المرور عبر HTTP، حيث لا يتم تكوين مفاتيح SSH بشكل افتراضي.
تتم بعد ذلك عملية تحويل التطبيق إلى حاوية Docker بإنشاء Dockerfile مناسب، وبناء الصورة محلياً وتشغيلها للتحقق. تتضمن هذه الخطوة أيضاً إعداد SonarQube لتحليل جودة الشيفرة، حيث يتم إنشاء ملف sonar-project.properties وتعيين متغيرات CI/CD في GitLab مثل SONAR_HOST_URL (بقيمة http://localhost:9000) وSONAR_TOKEN الذي يتم إنشاؤه من إعدادات أمان حساب SonarQube.
يتم تصميم مسار GitLab CI/CD في ملف .gitlab-ci.yml، والذي يتكون من مراحل أساسية: test (لتشغيل الاختبارات)، وbuild (لبناء صورة Docker)، وsonarqube (لتحليل الجودة)، وdeploy (لنشر الحاوية). يُنصح بمشاهدة تنفيذ المسار في واجهة GitLab والتحقق من كل خطوة. بعد اكتمال النشر، يتم التحقق يدوياً من عمل التطبيق عبر docker ps وcurl http://localhost:5000 أو بفتح المتصفح.
ماذا يعني هذا لعملك؟
إن الجزء الأصعب في إعداد CI/CD في بيئة مختبر افتراضي ليس بالضرورة كتابة ملف YAML، بل فهم السلسلة الكاملة للعملية: فك الضغط والفحص، التشغيل المحلي، التحكم بالإصدار، الاتصال بـ GitLab، تحليل الجودة، التحويل إلى حاوية، الأتمتة، والتحقق. بمجرد إتقان هذا التسلسل، تصبح العملية أكثر قابلية للتنبؤ والتحكم، مما يحول الخطوات اليدوية والهشة إلى عملية تسليم متكررة وموثوقة.
كن أول من يعرف بمستقبل التقنية
أهم الأخبار والتحليلات التقنية مباشرة في بريدك.