Mohammed Jawareesh نشر 6 يوليو 2023 أرسل تقرير نشر 6 يوليو 2023 (معدل) اريد حل نهائي لطريقه deploy and build على سيرفر دون ان يحصل downtime وبطء الرفع وعن طريق الgithub laravel تم التعديل في 6 يوليو 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
0 Adnane Kadri نشر 6 يوليو 2023 أرسل تقرير نشر 6 يوليو 2023 بدون أي اضافة او خدمة خارجية؟ الـ downtime لا بد منه، ولو جزءا من الثانية. وصحيح، قد يمكن تقليله بالتزام بعض الممارسات ولكن لا أحسب أنه يمكن تحقيق zero downtime إلا ببعض خدمات الطرف الثالث التي تتوفر على تقنيات ادارة الحمل load balanceers والتنصيب المتعدد Multisite deployment وغيرها من ممارسات zero downtime. يذكر في توثيق لارافيل مثلا خدمات من مثل: envoyer laravel vapor أجدها خيارات ممتازة ان كنت تريد تحقيقه. في العادة، قد يحدث لمجرد ثواني قليلة، في حالة تعدي ذلك او أخذ وقت طويل يحتمل أن تكون المشكلة متعلق بشيء آخر تماما. اقتباس
0 Mohammed Jawareesh نشر 6 يوليو 2023 الكاتب أرسل تقرير نشر 6 يوليو 2023 بتاريخ 1 ساعة قال Adnane Kadri: بدون أي اضافة او خدمة خارجية؟ الـ downtime لا بد منه، ولو جزءا من الثانية. وصحيح، قد يمكن تقليله بالتزام بعض الممارسات ولكن لا أحسب أنه يمكن تحقيق zero downtime إلا ببعض خدمات الطرف الثالث التي تتوفر على تقنيات ادارة الحمل load balanceers والتنصيب المتعدد Multisite deployment وغيرها من ممارسات zero downtime. يذكر في توثيق لارافيل مثلا خدمات من مثل: envoyer laravel vapor أجدها خيارات ممتازة ان كنت تريد تحقيقه. في العادة، قد يحدث لمجرد ثواني قليلة، في حالة تعدي ذلك او أخذ وقت طويل يحتمل أن تكون المشكلة متعلق بشيء آخر تماما. نعم بدون اي خدمه خارجيه اقتباس
0 Mustafa Suleiman نشر 6 يوليو 2023 أرسل تقرير نشر 6 يوليو 2023 بدون أدوات خارجية سيتعين عليك التالي: استخدم توازن الحمل load balancer لتوزيع حركة المرور الواردة على عدة نسخ من التطبيق الخاص بك، وذلك يضمن وجود نسخة واحدة على الأقل تخدم الطلبات أثناء عملية النشر. إذا تضمنت عملية النشر تغييرات في هيكل قاعدة البيانات، استخدم ميزة ترحيل قاعدة البيانات في Laravel، حيث تتيح لك الترحيلات تطبيق التغييرات على هيكل قاعدة البيانات مع استمرار تشغيل التطبيق، ويتعامل Laravel مع ذلك من خلال تطبيق الترحيلات في عملية انتقالية، لذا إذا فشلت عملية الترحيل، سيقوم Laravel تلقائيًا بإلغاء التغييرات. إعداد بيئة منفصلة للنشر مثل بيئة التجريب أو الاختبار ، ويجب أن تكون تلك البيئة مطابقة لبيئة الإنتاج الحية قدر الإمكان، وذلك بإختبار عملية النشر بدقة في هذه البيئة قبل تطبيقها على بيئة الإنتاج الحية. استخدام نظام التحكم في الإصدار مثل Git لإدارة الكود مما يسمح لك بتتبع التغييرات وإعادة التراجع إذا لزم الأمر. بدلاً من نشر جميع نسخ التطبيق الخاصة بك دفعة واحدة، تستطيع اعتماداستراتيجية النشر التدريجي، وينطوي ذلك على نشر النسخ الجديدة تدريجيًا واحدة تلو الأخرى، بينما تستمر النسخ الحالية في تلبية الطلبات، مما يقلل من تأثير النشر على المستخدمين ويضمن استمرارية الخدمة. تنفيذ فحوصات الحالة لمراقبة حالة نسخ التطبيق الخاصة بك، للتحقق مما إذا كانت النسخة جاهزة لتلقي الطلبات، وتكوين توازن الحمل لتنفيذ فحوصات الحالة وتوجيه المرور إلى النسخ المناسبة والسليمة فقط. بينما من الأسهل لك هو أتمتة عملية النشر وهي تضمن توحيد الأسلوب وتقليل الأخطاء وذلك باستخدم أدوات النشر مثل Jenkins أو GitLab CI/CD أو Laravel Envoyer لأتمتة عملية النشر، وذلك لجلب أحدث كود، وتشغيل الاختبارات، وتنفيذ الترحيلات، وتنفيذ خطوات النشر بشكل تلقائي. وهناك العديد من الأدوات المفيدة التي يمكن استخدامها لتحقيق نشر تطبيق Laravel بدون توقف، وفيما يلي بعض الأدوات الشائعة: Envoyer by Laravel Deployer Jenkins GitLab CI/CD Laravel Vapor اقتباس
0 عبدالباسط ابراهيم نشر 8 يوليو 2023 أرسل تقرير نشر 8 يوليو 2023 (معدل) تنشيط تطبيق Laravel على سيرفر دون انقطاع يتطلب القيام ببعض الخطوات الضرورية لتجنب أي تأخير أو انقطاع في عملية النشر. فيما يلي شرح مفصل لأهم الأدوات والاستراتيجيات التي يمكن استخدامها لنشر تطبيق Laravel بدون توقف: استخدام خدمات الاستضافة المخصصة لـ Laravel: توفر خدمات الاستضافة المخصصة لـ Laravel مثل Laravel Forge و Laravel Vapor إعدادات مسبقة للنشر والتحكم في الإصدارات والتحديثات دون توقف الخدمة. تتضمن هذه الخدمات أيضًا أدوات مثل Git و SSH للتحكم في الإصدارات والتحديثات. استخدام أدوات النشر المستمر: يمكن استخدام أدوات النشر المستمر مثل Travis CI و CircleCI لإعداد سيرفرات الإنتاج وتحديثات البرمجيات دون توقف. يمكن استخدام هذه الأدوات لتحديد مراحل النشر والاختبار والتحديثات الدورية. استخدام Docker: يمكن استخدام Docker لإنشاء حاويات Docker ونشرها على خوادم الإنتاج بدون توقف. يتم إنشاء حاويات Docker المحمولة بسهولة ويمكن نقلها بين الخوادم بسهولة، ويمكن استخدام أدوات مثل Docker Compose لتسهيل العملية. استخدام إدارة التحميل: يمكن استخدام إدارة التحميل مثل Envoyer لتبسيط عملية النشر والتحديثات الدورية دون توقف. يوفر Envoyer واجهة برمجة التطبيقات (API) لتوصيل البرامج وإعدادات مسبقة للنشر. استخدام استراتيجيات النشر: يمكن استخدام استراتيجيات النشر مثل Blue-green deployment و Canary release لنشر الإصدارات الجديدة بشكل تدريجي ومراقبة الأداء والاستجابة قبل إطلاقها بشكل كامل. يمكن استخدام هذه الاستراتيجيات لتخفيض أي تأثير على الخدمة الحالية وزيادة الثقة في الإصدار الجديد. استخدام خوادم التحميل الموزعة: يمكن استخدام خوادم التحميل الموزعة مثل NGINX و Apache لتقليل وقت الانتظار وتحسين أداء النشر عن طريق توزيع الحمولة على عدة خوادم. بالنسبة للنشر عبر GitHub، يمكن استخدام خدمات CI/CD مثل Travis CI و CircleCI لإنشاء سيرفرات الإنتاج وتحديثات البرمجيات بشكل تلقائي. يمكن استخدام Git hooks لتنفيذ إجراءات محددة عند الإصدارات الجديدة، مثل تحديث قاعدة البيانات وتحميل الملفات الثابتة. يمكن أيضًا استخدام Docker وإدارة التحميل لتسهيل عملية النشر. يتم ذلك عن طريق إنشاء ملفات Dockerfile و docker-compose.yml لتعريف الحاويات والخدمات المطلوبة لتشغيل التطبيق. يمكن تحديث هذه الملفات وتنفيذ عمليات النشر عن طريق خدمات CI/CD المتكاملة مع GitHub. تم التعديل في 8 يوليو 2023 بواسطة عبدالباسط ابراهيم خطأ إملائي اقتباس
السؤال
Mohammed Jawareesh
اريد حل نهائي لطريقه deploy and build على سيرفر دون ان يحصل downtime وبطء الرفع وعن طريق الgithub
laravel
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.