إذن لديك ميزة جديدة جاهزة للإطلاق. ماذا يحدث بعد ذلك؟ هل ترفع الملفات إلى خادم يدوياً؟ كيف تدير إصدار منتجك العامل في بيئة الإنتاج؟ وكيف تتأكد من أنه يعمل، وكيف ترجع إلى إصدار آمن إن لم يعمل؟
إنجاز كل ما سبق يدوياً أمر شاق ولا يتوسّع جيداً مع فريق أكبر. لهذا السبب لدينا أنظمة التكامل المستمر/التسليم المستمر، أو باختصار أنظمة CI/CD. في هذا الجزء، ستكتسب فهماً لسبب وجوب استخدامك نظام CI/CD، وما يمكن أن يفعله من أجلك، وكيف تبدأ مع GitHub Actions المتاح افتراضياً لجميع مستخدمي GitHub.
خلال هذا الجزء، ستبني خط أنابيب نشر متيناً لمشروع مثال جاهز بدءاً من التمرين 2. ستأخذ نسخة متفرعة (fork) من مشروع المثال، وهذا سيُنشئ نسخة شخصية من المستودع. وفي نهاية هذا الجزء، ستبني خط أنابيب نشر آخر لبعض تطبيقاتك الخاصة التي أنشأتها سابقاً!
المتطلبات المسبقة
سيعتمد هذا الجزء على مفاهيم كثيرة غُطّيت في الأجزاء السابقة من المقرر. يُوصى بإكمال الأجزاء 0 إلى 5 على الأقل قبل بدء هذا الجزء.
على خلاف الأجزاء الأخرى في هذا المقرر، لن تكتب سطوراً كثيرة من الشيفرة في هذا الجزء، فهو يتعلق بالإعدادات أكثر بكثير. قد يكون تصحيح أخطاء الشيفرة صعباً، لكن تصحيح الإعدادات أصعب بكثير، لذا ستحتاج في هذا الجزء إلى قدر كبير من الصبر والانضباط!
التسجيل
لا تحتاج إلى التسجيل للدراسة في المقرر. لا يمكنك التسجيل إلا بعد إكمال المقرر، انظر الحصول على نقاط ECTS والشهادة أدناه.
المساعدة في التمارين أو الأمور العملية للمقرر
للمقرر مجموعة Discord نناقش فيها كل ما يتعلق بالمقرر. الدعم متاح على مدار الساعة تقريباً، والنقاش باللغتين الإنجليزية والفنلندية.
انضم إلى قناة Full stack open على Discord: https://study.cs.helsinki.fi/discord/join/fullstack
يُحظر كل تعليق غير لائق أو مهين أو تمييزي على القناة، وسيُتخذ إجراء ضد صاحب التعليق.
تسليم التمارين
يحتوي هذا الجزء من المقرر على 24 تمريناً، ويجب إكمالها جميعاً للحصول على التقييم.
تُسلَّم التمارين إلى مستودع GitHub واحد، يشمل كل الشيفرة المصدرية والإعدادات التي تجريها خلال هذا الجزء. إذا كنت تستخدم مستودعاً خاصاً، أضف مستخدم GitHub mluukkai كمساهم.
تُراجع تمارينك بعد تسليم التمرين الأخير، وإذا كان كل شيء مقبولاً إلى حد ما، ستُقيَّم وستتاح لك الشهادة والنقاط الجامعية.
تذكّر ألا تغش في التمارين! إذا سلّم عدة طلاب، مثلاً، الشيفرة نفسها، تُعالج المسألة وفقاً لـسياسة الانتحال في جامعة هلسنكي.
قفل الفصل
بعد إكمال جميع تمارين الفصل، يجب عليك قفل الفصل قبل الانتقال إلى الفصل التالي. تذكّر أنه بعد قفل الفصل لن تتمكن من تسليم أي تمارين أخرى له، لذا لا تقفله إلا عندما ينتهي كل شيء.

الحصول على نقاط ECTS والشهادة
بعد إكمال التمارين وتقييمها، يمكنك الحصول على نقاط ECTS كما يلي
طلاب الدرجات في جامعة هلسنكي وطلاب التبادل
- سجّل مباشرة عبر حسابك في Sisu (Sisu: هيكل الدراسات).
- أكمل جميع التمارين المطلوبة.
آخرون
- أكمل جميع التمارين المطلوبة.
- انتقل إلى الصفحة الرئيسية للمقرر.
- مرّر للأسفل حتى ترى عنصراً يقول تهانينا!
- اضغط زر تسجيل.
- املأ نموذج التسجيل في الجامعة المفتوحة (جامعة هلسنكي). استخدم عنوان البريد الإلكتروني نفسه الذي استخدمته لإكمال المقرر.
- عادةً ما تُسجَّل النقاط في سجل الدراسة بجامعة هلسنكي خلال يومين من التسجيل.
عادةً ما يستغرق تسجيل النقاط يومين.
شهادة المقرر متاحة أيضاً في الصفحة الرئيسية للمقرر.
التحسينات والملاحظات على مادة المقرر
نرحب بمساهمات الطلاب وأعضاء مجتمع DevOps الآخرين في مادة المقرر! إذا لاحظت أي أخطاء أو أخطاء مطبعية أو سهواً في المادة، فنرجو أن تفكر في إرسال طلب تصحيح أو توضيح بالضغط على زر إرسال الملاحظات ، الذي يمنحك خيارين

في حالة الأخطاء المطبعية مثلاً، يُفضَّل اختيار تحسين المادة الذي يجعل المادة "قابلة للتحرير"، ويمكنك إرسال اقتراحات التحسين للموافقة عليها.
استخدام LLM:s
أصبحت نماذج اللغة الكبيرة أدوات قوية في تطوير البرمجيات، ووكيلات البرمجة (coding agents) تدفع هذه القدرات إلى أبعد من ذلك. يمكنها أن تجعل مقرراً كهذا يبدو بلا جهد تقريباً، لكن الاعتماد عليها بإفراط له ثمن. لاستخدام الذكاء الاصطناعي بفعالية، ما زلت بحاجة إلى إتقان متين للأساسيات. لهذا أقترح استخدام الوكلاء باعتدال، لا سيما في الشروح وتصحيح الأخطاء، حتى تبني فهماً حقيقياً بدلاً من الاستعانة بمصادر خارجية للتعلّم.
نهج عملي يضع التعلّم أولاً لاستخدام الذكاء الاصطناعي في هذا المقرر:
قبل استخدام الذكاء الاصطناعي
- جرّب بنفسك أولاً: اكتب حلاً أو على الأقل ارسم مقاربتك.
- حدّد المشكلة بدقة: تعرّف على رسالة الخطأ بالتحديد أو المفهوم غير الواضح أو المقايضة التصميمية التي علقت عندها.
كيف تستخدم الذكاء الاصطناعي بحكمة
- الشروح: اطلب شروحاً واضحة للمفاهيم أو الشيفرة (لماذا يعمل شيء ما، وليس كيف فقط).
- تصحيح الأخطاء: شارك الخطأ والشيفرة ذات الصلة وما جربته بالفعل؛ واطلب فرضيات وحلولاً ممكنة.
- مراجعة الأقران: اطلب ملاحظات على حلك والحالات الحدية والتعقيد والبدائل.
- دعم التصميم: اطلب تقسيم المشكلة إلى أجزاء، واقتراح حالات اختبار، وتحديد معايير النجاح.
ما يجب تجنبه
- نسخ حلول كاملة دون فهمها.
- الطلبات الواسعة جداً ("اكتب الواجب كاملاً") التي تختصر تعلّمك.
- الاعتماد على إجابة واحدة دون تحقق أو اختبارات.
الخلاصة: اجعل الذكاء الاصطناعي شارحك ومراجعك وشريكك في تصحيح الأخطاء، لا بديلاً عن التفكير والتدرّب.
عن المادة
أُنشئ هذا الجزء بواسطة فريق الهندسة في Smartly.io. في Smartly.io، نؤتمت كل خطوة من خطوات الإعلان الاجتماعي لإطلاق أداء وإبداع أكبر. نجعل كل يوم من أيام الإعلان سهلاً وفعّالاً وممتعاً لأكثر من 650 علامة تجارية حول العالم، من بينها eBay وUber وZalando. ونحن من أوائل المتبنّين لـ GitHub Actions في الاستخدام الإنتاجي واسع النطاق.
المساهمون: Anna Osipova، Anton Rautio، Mircea Halmagiu، Tomi Hiltunen.
هذه المادة مرخّصة بموجب Creative Commons BY-NC-SA 4.0، لذا يمكنك استخدام المادة وتوزيعها بحرية ما دمت تذكر المنشئين الأصليين. إذا أجريت تغييرات على المادة وأردت توزيع النسخة المعدّلة، فيجب ترخيصها بالترخيص نفسه. يُحظر استخدام المادة لأغراض تجارية دون إذن.
0. الخطوة الأولى