إنشاء مسارات عمل CI/CD
أنشئ مسارات CI/CD عملية لبناء التعليمات البرمجية واختبارها ونشرها تلقائيًا عند الدفع أو إنشاء طلبات السحب
إنشاء مسارات عمل CI/CD درس مجاني في Git & GitHub Professional Workflow على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Git & GitHub Professional Workflow، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Git & GitHub Professional Workflow 4 دروس في المجموع.
مرحبًا بكم في CI/CD
في هذا الدرس، ستتعلمون إنشاء مسارات التكامل المستمر (CI) والنشر المستمر (CD) قوية باستخدام GitHub Actions.
تعمل CI/CD على أتمتة عملية تطوير البرامج، بدءًا من تغييرات التعليمات البرمجية ووصولًا إلى النشر، مما يجعلها أسرع وأكثر موثوقية.
لماذا تُعد CI/CD مهمة؟
لماذا تُعد الأتمتة بالغة الأهمية في تطوير البرامج الحديث؟
- ملاحظات أسرع: اكتشفوا الأخطاء ومشكلات التكامل مبكرًا من خلال تشغيل الاختبارات تلقائيًا.
- عمليات إنشاء متسقة: تأكدوا من أن كل عملية إنشاء تتبع الخطوات نفسها، مما يقلل مشكلات «إنه يعمل على جهازي».
- إصدارات موثوقة: انشروا الميزات الجديدة أو الإصلاحات بثقة وبأخطاء يدوية أقل.
- تعاون محسّن: تدمج الفرق التغييرات باستمرار وسلاسة، مما يقلل تعارضات الدمج.
GitHub Actions: المفاهيم الأساسية
يستخدم GitHub Actions مسارات عمل محددة في ملفات YAML. وتوجد هذه الملفات في دليل خاص ضمن مستودعكم: .github/workflows/.
يحدّد سير العمل سلسلة من المهام، وتحتوي كل مهمة على خطوات تنفّذ الأوامر أو تستخدم إجراءات مُنشأة مسبقًا. هكذا تخبرون GitHub بما يجب فعله!
إنشاء أول سير عمل CI
لننشئ سير عمل CI أساسيًا يُشغَّل عند كل عملية push إلى مستودعكم. سيُعِدّ Node.js ويحاكي عملية إنشاء مشروع.
احفظوا هذا المحتوى باسم .github/workflows/ci.yml في مستودعكم:
name: Node.js CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Build project
run: node build.jsمحاكاة البرنامج النصي لعملية الإنشاء
سينفّذ الأمر node build.js الموجود في سير العمل برنامجًا نصيًا مشابهًا لهذا. يحاكي هذا البرنامج النصي عملية ترجمة تعليمات تطبيقكم البرمجية أو تجميعها أو إعدادها.
جرّبوا تشغيله لرؤية الناتج:
console.log("Starting project build...");
console.log(" - Compiling source files...");
console.log(" - Bundling assets for deployment...");
console.log("Build process finished successfully!");إضافة الاختبارات المؤتمتة
يُعد تشغيل الاختبارات المؤتمتة جزءًا أساسيًا من CI. لنوسّع سير العمل ليشمل خطوة اختبار بعد تثبيت التبعيات. إذا فشلت الاختبارات، يفشل سير العمل، مما يمنع التعليمات البرمجية السيئة من التقدم!
سنضيف خطوة test كما يلي:
name: Node.js CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Run tests
run: node test.js
- name: Build project
run: node build.jsمحاكاة البرنامج النصي للاختبار
إليكم برنامجًا نصيًا بسيطًا باسم test.js قد ينفّذه سير العمل. في مشروع حقيقي، سيشمل ذلك أطر اختبار مثل Jest أو Mocha، لكن هذا المثال يوضّح مبدأ تنفيذ الاختبارات.
شغّلوه لرؤية نتيجة اختبار محاكاة:
console.log("Running automated tests...");
const allTestsPass = Math.random() > 0.1; // Simulate 90% chance of passing
if (allTestsPass) {
console.log("All 12 tests passed successfully!");
} else {
console.error("Tests failed! Please fix the errors.");
process.exit(1); // Exit with a non-zero code to indicate failure
}مقدمة إلى النشر المستمر (CD)
بينما يركّز CI على الإنشاء والاختبار، يذهب النشر المستمر (CD) خطوةً أبعد من خلال نشر تطبيقكم تلقائيًا على خادم أو خدمة سحابية بعد اجتياز جميع فحوصات CI.
تشمل مشغّلات CD الشائعة ما يلي:
- إنشاء وسم Git جديد، مثل
v1.0.0 - الدفع إلى فرع محدد، مثل
mainأوproduction - إنشاء إصدار على GitHub
سير عمل CD بسيط
إليكم سير عمل يُشغَّل عند إنشاء وسم Git جديد، ويتضمن خطوة نشر وهمية. في سيناريو حقيقي، ستتفاعل هذه الخطوة مع موفّر الاستضافة الخاص بكم، مثل AWS أو Azure أو Heroku.
احفظوا هذا الملف باسم .github/workflows/cd.yml:
name: Deploy to Production
on:
push:
tags:
- 'v*.*.*' # Triggers on tags like v1.0.0, v1.2.3
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Simulate deployment
run: |
echo "Deploying application to production server..."
echo "Version: ${{ github.ref_name }}"
echo "Deployment complete!"
# In a real scenario, you'd use a deployment action here
# e.g., aws-actions/configure-aws-credentials, appleboy/ssh-actionاختبار سير عمل CI/CD
ما الفوائد الأساسية التالية لتطبيق مسارات CI/CD؟
مراجعة: إنشاء CI/CD
لقد تعلمتم كيفية إنشاء مسارات عمل CI/CD متينة باستخدام GitHub Actions!
- عرّفنا CI/CD وفوائدها للتطوير الحديث.
- استكشفنا بنية YAML الأساسية لسير عمل GitHub Actions.
- أنشأنا مسارات عمل CI لأتمتة عمليات إنشاء المشاريع واختبارها.
- صمّمنا سير عمل CD لعمليات النشر المؤتمتة التي تشغّلها الوسوم.
واصلوا الأتمتة لشحن التعليمات البرمجية بسرعة أكبر وثقة أعلى!
الأسئلة الشائعة
هل درس «إنشاء مسارات عمل CI/CD» مجاني؟
نعم — نص درس «إنشاء مسارات عمل CI/CD» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Git & GitHub Professional Workflow، انتقل إلى CoddyKit PRO. تتضمن دورة Git & GitHub Professional Workflow 4 دروس في المجموع.
ماذا ستتعلم في «إنشاء مسارات عمل CI/CD»؟
أنشئ مسارات CI/CD عملية لبناء التعليمات البرمجية واختبارها ونشرها تلقائيًا عند الدفع أو إنشاء طلبات السحب تتمرن على Git & GitHub Professional Workflow مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Git & GitHub Professional Workflow؟
لا تُشترط خبرة سابقة. Git & GitHub Professional Workflow على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «إنشاء مسارات عمل CI/CD»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Git & GitHub Professional Workflow هذا؟
نعم. كل درس في Git & GitHub Professional Workflow يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى GitHub Actions
- إنشاء مسارات عمل CI/CD
- الإجراءات المخصصة وMarketplace
- الأسرار ومتغيرات البيئة في Actions