x32x01
أدارة أكتب كود
- بواسطة x32x01 ||
تخيل معايا، كنت قاعد في أمان الله، مركز في شغلك ، وفجأة يجيلك بتاع الـ Testing يقولك:
"يا هندسة، طلعلي نسخة جديدة عشان أعمل تست على شوية تعديلات!"
طبعًا، ترد عليه وأنت بتحاول تبان هادي:
"حاضر، خمس دقايق وتكون جاهزة"
تروح تبني التطبيق يدوي، وتقعد تشيل الملفات القديمة وتحط الجديدة في فولدر خاص على Google Drive بعد شوية، يكلّمك ويقولك:
"يا بشمهندس، النسخة اللي رفعتها فيها مشاكل... الأزرار مش بتشتغل زي ما قولتلك، والكود بايظ"
تقوم ترجع تعدّل، وتبني التطبيق تاني، وترفع النسخة وبعدها بنص ساعة، نفس الشخص يكلّمك تاني ويقولك: "آه بالمناسبة، كمان الـ API اللي استخدمتها دي اتغيّرت، لازم تعدّلها برضه."
تعيش اليوم كله في الدوامة دي:
تبني نسخة
ترفعها
تعدّل على المشاكل اللي قالك عليها
ترجع تبني نسخة تاني
وفي الآخر تلاقي نفسك طول النهار شغال على حاجة واحدة بس، ومفيش وقت تعمل أي حاجة جديدة أو تتطور
خلينا نفصل أكتر عنهم:
هدفه الأساسي هو ضمان أن الكود الجديد اللي بتكتبه يندمج مع الكود القديم بدون مشاكل
بيبدأ CI يعمل Build للكود
يشغّل الاختبارات (Unit Tests) على الكود
يراجع أي أخطاء أو تعارضات مع الكود الموجود
2-النتيجة
لو الكود فيه مشكلة: بتوصلك تنبيهات فورية بالتفاصيل
لو الكود سليم: يعدّي التعديلات للمرحلة التالية
2- Continuous Deployment (CD):
المندوب الذكي اللي يوصل شغلك بأسرع وقت
بعدما الـ CI يتأكد إن الكود سليم، هنا يجي دور الـ CD اللي ياخد الكود النهائي وينشره
يرفع النسخة المحدثة للتطبيق إلى سيرفرات التست زي Firebase
أو ينشرها مباشرة على المتاجر زي Google Play أو App Store
2-العملية دي أوتوماتيكية بالكامل وبتضمن استمرارية بدون أي تدخل يدوي
بعد فهم أهمية CI/CD، نحتاج نتعمق في الأدوات اللي بتساعدنا على تنفيذ العمليات دي بسهولة وسرعة هنا هنتكلم عن Fastlane لتسهيل عمليات النشر، Firebase App Distribution لتوزيع التطبيقات على المختبرين، وGitHub Actions لأتمتة العمليات.
ايه هي Fastlane ؟ دي أداة مفتوحة المصدر شغلها تسهل عليك عملية بناء، اختبار، ونشر التطبيقات بدل ما تقعد تعمل كل حاجة يدوي، زي إنشاء الـ APK أو رفعه للمتجر، Fastlane بتحول الخطوات دي لكام أمر بسيط
طيب لو عايز توزع تطبيقك على المختبرين بسرعة وسهولة، Firebase App Distribution مع Fastlane هما الحل الأمثل الموضوع مش معقد، والعملية ممكن تكون سلسة جدًا لو اتبعت الخطوات دي
1-أنشئ مشروعك على Firebase
2-عرف مشروعك با استخدام Firebase CLI وخد Firebase Token باستخدام:firebase login:ci
3-لو جهازك Windows، ثبت Ruby وبعدين ثبت Fastlane
4-روح لمجلد android في مشروعك وشغل:cd android
5-fastlane init
6-افتح ملف Fastfile في مشروعك هتلاقي مكان مخصص لتعديل الأكواد الخاصة بتوزيع التطبيق لو عايز تشوف شرح تفصيلي، شوف الصورة
توزيع التطبيق عبر Firebase App Distribution باستخدام GitHub Actions شرح تفصيلي، شوف الصورة
الموضوع بسيط جدًا ويستاهل تجرب بنفسك، هيوفر وقتك ويقلل الأخطاء!
"يا هندسة، طلعلي نسخة جديدة عشان أعمل تست على شوية تعديلات!"
طبعًا، ترد عليه وأنت بتحاول تبان هادي:
"حاضر، خمس دقايق وتكون جاهزة"
تروح تبني التطبيق يدوي، وتقعد تشيل الملفات القديمة وتحط الجديدة في فولدر خاص على Google Drive بعد شوية، يكلّمك ويقولك:
"يا بشمهندس، النسخة اللي رفعتها فيها مشاكل... الأزرار مش بتشتغل زي ما قولتلك، والكود بايظ"
تقوم ترجع تعدّل، وتبني التطبيق تاني، وترفع النسخة وبعدها بنص ساعة، نفس الشخص يكلّمك تاني ويقولك: "آه بالمناسبة، كمان الـ API اللي استخدمتها دي اتغيّرت، لازم تعدّلها برضه."
تعيش اليوم كله في الدوامة دي:
تبني نسخة
ترفعها
تعدّل على المشاكل اللي قالك عليها
ترجع تبني نسخة تاني
وفي الآخر تلاقي نفسك طول النهار شغال على حاجة واحدة بس، ومفيش وقت تعمل أي حاجة جديدة أو تتطور
ظهور CI/CD: البطل الحقيقي للتطوير الحديث
كل مطور تقريبًا مرَّ بمواقف محبطة زي "الكود مش شغال بعد دمج التعديلات" أو "النشر اليدوي بياخد وقت ومليان أخطاء" وهنا كان الحل السحري: Continuous Integration (CI) و Continuous Deployment (CD)خلينا نفصل أكتر عنهم:
1- Continuous Integration (CI)
ده دكتور الفحص الدوري للكودهدفه الأساسي هو ضمان أن الكود الجديد اللي بتكتبه يندمج مع الكود القديم بدون مشاكل
الخطوات اللي بيعملها CI:
1-بمجرد ما ترفع تعديلك على منصة زي GitHub:بيبدأ CI يعمل Build للكود
يشغّل الاختبارات (Unit Tests) على الكود
يراجع أي أخطاء أو تعارضات مع الكود الموجود
2-النتيجة
لو الكود فيه مشكلة: بتوصلك تنبيهات فورية بالتفاصيل
لو الكود سليم: يعدّي التعديلات للمرحلة التالية
2- Continuous Deployment (CD):
المندوب الذكي اللي يوصل شغلك بأسرع وقت
بعدما الـ CI يتأكد إن الكود سليم، هنا يجي دور الـ CD اللي ياخد الكود النهائي وينشره
الخطوات اللي بيعملها CD:
1-بمجرد الكود ما يتأكد إنه سليم:يرفع النسخة المحدثة للتطبيق إلى سيرفرات التست زي Firebase
أو ينشرها مباشرة على المتاجر زي Google Play أو App Store
2-العملية دي أوتوماتيكية بالكامل وبتضمن استمرارية بدون أي تدخل يدوي
بعد فهم أهمية CI/CD، نحتاج نتعمق في الأدوات اللي بتساعدنا على تنفيذ العمليات دي بسهولة وسرعة هنا هنتكلم عن Fastlane لتسهيل عمليات النشر، Firebase App Distribution لتوزيع التطبيقات على المختبرين، وGitHub Actions لأتمتة العمليات.
ايه هي Fastlane ؟ دي أداة مفتوحة المصدر شغلها تسهل عليك عملية بناء، اختبار، ونشر التطبيقات بدل ما تقعد تعمل كل حاجة يدوي، زي إنشاء الـ APK أو رفعه للمتجر، Fastlane بتحول الخطوات دي لكام أمر بسيط
طيب لو عايز توزع تطبيقك على المختبرين بسرعة وسهولة، Firebase App Distribution مع Fastlane هما الحل الأمثل الموضوع مش معقد، والعملية ممكن تكون سلسة جدًا لو اتبعت الخطوات دي
1-أنشئ مشروعك على Firebase
2-عرف مشروعك با استخدام Firebase CLI وخد Firebase Token باستخدام:firebase login:ci
3-لو جهازك Windows، ثبت Ruby وبعدين ثبت Fastlane
4-روح لمجلد android في مشروعك وشغل:cd android
5-fastlane init
6-افتح ملف Fastfile في مشروعك هتلاقي مكان مخصص لتعديل الأكواد الخاصة بتوزيع التطبيق لو عايز تشوف شرح تفصيلي، شوف الصورة
توزيع التطبيق عبر Firebase App Distribution باستخدام GitHub Actions شرح تفصيلي، شوف الصورة
الموضوع بسيط جدًا ويستاهل تجرب بنفسك، هيوفر وقتك ويقلل الأخطاء!