I'm always excited to take on new projects and collaborate with innovative minds.

Phone

+20 115 052 9992

Website

https://ibrahimahmed.online/

Social Links

يوم الخميس ونار الـ Deployment: إزاي ترفع الكود بتاعك من غير ما تضيع الويك إند؟

يوم الخميس ونار الـ Deployment: إزاي ترفع الكود بتاعك من غير ما تضيع الويك إند؟ يا أهلاً بيك يا بطل في كابوس كل مبرمج! الساعة بقت 4 العصر، والمدير داخل عليك بيق

يوم الخميس ونار الـ Deployment: إزاي ترفع الكود بتاعك من غير ما تضيع الويك إند؟
Reading Count: 9

يوم الخميس ونار الـ Deployment: إزاي ترفع الكود بتاعك من غير ما تضيع الويك إند؟

يا أهلاً بيك يا بطل في كابوس كل مبرمج! الساعة بقت 4 العصر، والمدير داخل عليك بيقولك عايزين نطلع التحديث الجديد (Update) قبل ما الأسبوع يخلص. وأنت يا عيني، قلبك مقبوض لأنك عارف إن "الرفع يوم الخميس" ده معناه غالباً إنك هتسهر طول الليل وبدل ما تخرج وتنبسط، هتلاقي نفسك بتعمل Debugging في عز يوم الجمعة الصبح.

في المقال ده، هنتكلم عن إزاي نكسر القاعدة دي، ونحول عملية الـ Deployment من "مهمة انتحارية" لعملية منظمة ومريحة تضمن لك تنام وأنت مطمن.

ليه الرفع يوم الخميس فكرة سيئة جداً؟

المشكلة مش في يوم الخميس نفسه، المشكلة في "التوقيت". لما بتعمل Deployment في نهاية الأسبوع، أنت حرفياً بتقلل من فرصك في إنك تلاقي حد يساعدك لو حصلت كارثة، لأن أغلب الفريق بيبقى في إجازة، والسيستم (System) بيبقى لوحده في المواجهة. القاعدة الذهبية هنا: "ما تعملش Release لأي كود جديد لو مش مستعد إنك تقضي الساعات الجاية بتحل مشاكل".

أهمية بيئة الاختبار (Staging Environment)

أكبر غلطة بيقع فيها المبرمجين المبتدئين هي إنهم يرفعوا الكود من جهازهم (Local Machine) للـ Production على طول. ده جنون! لازم يكون عندك بيئة اختبار (Staging Environment) مطابقة بنسبة 90% على الأقل لبيئة الـ Production.

الـ Staging مش مجرد سيرفر إضافي، ده "حقل تجارب" بتكتشف فيه المشاكل قبل ما المستخدمين الحقيقيين يلاقوها. لو الكود بتاعك ممرش بمرحلة الـ Integration Testing في بيئة الـ Staging، يبقى أنت بتلعب بالنار.

خطوات عملية عشان تـ Deploy وأنت مطمن

  • استخدم الـ CI/CD Pipelines: بلاش الرفع اليدوي. استخدم أدوات زي GitHub Actions أو Jenkins عشان تضمن إن الكود بتاعك بيعدي على اختبارات آلية قبل ما يلمس السيرفر.
  • طبق نظام الـ Rollback: لازم يكون عندك القدرة ترجع للنسخة القديمة (Previous Version) في ثواني لو الـ Deployment فشل.
  • مراقبة الأداء (Monitoring): استخدم أدوات زي Sentry أو New Relic عشان تعرف أي خطأ (Error) بيحصل أول ما الكود يطلع، قبل ما العملاء يبعتوا تيكيتات (Tickets) الدعم الفني.

مثال سريع لعملية بسيطة باستخدام GitHub Actions

لو عايز تعمل Pipeline بسيط يختبر الكود قبل الـ Deployment، ممكن تستخدم ملف YAML زي ده في مشروعك:

name: Node.js CI on: [push] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run Tests run: | npm install npm test

الكود ده بيتأكد إن أي تغيير هترفعه على الـ Repository بيمر باختبارات الـ (Unit Tests) قبل ما تسمح لأي حد إنه يرفعه فعلياً، وده بيحميك من أخطاء السذاجة.

نصيحة من أخ ليك

عايز نصيحتي؟ الخبرة مش بس في إنك تكتب كود زي الوحش، الخبرة في إنك "تخاف" على السيستم. اتعلم الـ (DevOps basics) حتى لو أنت Front-end أو Back-end developer. الـ Deployment جزء لا يتجزأ من الكود بتاعك. خليك دايمًا جاهز، وثق في الاختبارات (Tests) مش في حظك، وأهم حاجة: ابعد عن الـ Deployment يوم الخميس لو مفيش داعي قهري، واستمتع بإجازتك، لأن المبرمج اللي بيعرف يوازن بين حياته وشغله هو اللي بيكمل في المجال ده فترة أطول.


Share

Related posts

May 19, 2026 • 1 min read
Reading Count: 6
ليه حاسس إنك "محتال"؟ إزاي تتغلب على متلازمة المحتال (Imposter Syndrome) كمبرمج

ليه حاسس إنك "محتال"؟ إزاي تتغلب على متلازمة المحتال (Imposter Syndrome) كمبرمج عارف اللحظة اللي بتف...

May 19, 2026 • 1 min read
Reading Count: 6
إزاي تخلي الـ API بتاعك ذكي وتستخدم الـ Webhooks لتحديث البيانات فوراً

إزاي تخلي الـ API بتاعك ذكي وتستخدم الـ Webhooks لتحديث البيانات فوراً تخيل معايا إنك بتبني تطبيق، و...

May 18, 2026 • 1 min read
Reading Count: 8
إزاي تكتب توثيق API احترافي باستخدام Swagger وتخلي حياتك أسهل

إزاي تكتب توثيق API احترافي باستخدام Swagger وتخلي حياتك أسهل مين فينا كمبرمجين ممرش باللحظة اللي بي...