App Platform هي عبارة عن منصة جديدة كخدمة (PaaS) تقدم من DigitalOcean. يتيح لك دفع التعليمات البرمجية إلى الإنتاج دون تكوين أي بنية أساسية. يتصل App Platform بمستودعات GitHub و GitLab لإنشاء مشاريعك ونشرها تلقائيًا.
أطلقت DigitalOcean App Platform في أكتوبر 2020 ، قائلة إنها تريد "إعادة تصور" مفهوم PaaS. App Platform هو حل مُدار بالكامل يدعم اللغات الأكثر شيوعًا ، ويوفر شهادة HTTPS تلقائية ويوفر مقياسًا أفقيًا ورأسيًا.
إنشاء موقعك
في هذا الدليل ، سنوضح لك كيف يمكنك استخدام خطة Starter المجانية لإنشاء موقع ويب ثابت ونشره دون القلق بشأن البنية التحتية. يمكنك تشغيل ما يصل إلى ثلاثة مواقع مجانًا. يمكن شراء مواقع إضافية إما عن طريق الترقية إلى مستوى أعلى أو عن طريق دفع 3 دولارات شهريًا لكل موقع.
الخطوة الأولى بسيطة: تحتاج إلى إنشاء موقعك الثابت! يدعم App Platform أكثر المولدات الثابتة شيوعًا مثل Gatsby و Hugo و Jekyll. يمكنك أيضًا استخدام HTML و CSS عاديين ، بدون أي عملية بناء على الإطلاق.
نحن نستخدم موقع jekyll المجردة لهذا البرنامج التعليمي. إذا كنت ترغب فقط في المتابعة ، فيمكنك تفرع أحد نماذج تطبيقات DigitalOcean. بمجرد إنشاء موقعك ، تأكد من دفع شفرتك إلى مستودع Git في حسابك على GitHub أو GitLab.
توصيل DigitalOcean بمستودعك
بمجرد أن تكون مستعدًا للنشر ، قم بتسجيل الدخول إلى حساب DigitalOcean الخاص بك. انقر على رابط "التطبيقات" في الشريط الجانبي الأيسر. بعد ذلك ، انقر فوق الزر الأزرق "Launch Your App".

تحتاج الآن إلى توصيل App Platform بحسابك على GitHub أو GitLab. انقر فوق الزر الذي ينطبق عليك. اتبع التعليمات لمصادقة نفسك والسماح لـ DigitalOcean بالوصول إلى مستودعاتك. ستتم إعادة توجيهك بعد ذلك إلى DigitalOcean.

يجب أن ترى الآن أن حسابك قد تم ربطه. حدد المستودع الذي تريد نشره من القائمة المنسدلة. إذا لم يظهر المستودع الخاص بك ، فتأكد من أن إعدادات الأذونات الخاصة به تسمح لـ DigitalOcean بالوصول إليه. اتبع رابط المساعدة في الجزء السفلي من الشاشة إذا كنت بحاجة إلى التحقق.

تكوين التطبيق الخاص بك
في الشاشة التالية ، ابدأ بإعطاء اسم للتطبيق الخاص بك. يتم عرض هذا في واجهة مستخدم DigitalOcean. من الجيد عادةً مطابقة اسم مستودع Git الخاص بك.
استخدم القائمة المنسدلة لاختيار منطقة مركز بيانات DigitalOcean التي تريد النشر إليها. في وقت كتابة هذا التقرير ، كانت مناطق نيويورك وأمستردام وفرانكفورت هي فقط التي تدعم App Platform. يجب عليك عادةً اختيار مركز البيانات الأقرب جغرافيًا للمستخدمين.

تحتاج الآن إلى تحديد الفرع للنشر منه. يجب أن يكون الإعداد الافتراضي
master
صحيحًا لمعظم المشاريع. يمكنك تغيير هذا لنشر نسخة ما قبل النشر بسهولة من مشروعك ، مثل
staging
أو
testفرع.

الخيار الأخير ، "تغيير رمز النشر التلقائي" ، يتحكم في ما إذا كان يجب على DigitalOcean تحديث تطبيقك تلقائيًا. عند تمكين هذا ، ستراقب App Platform مستودع Git الخاص بك. سيبدأ نشرًا جديدًا تلقائيًا عند دمج رمز جديد في الفرع الذي اخترته. ستحتاج إلى بدء كل عملية نشر جديدة يدويًا إذا لم تقم بتمكين هذا الإعداد.
عند النقر فوق "التالي" ، ستقوم DigitalOcean بفحص المستودع الخاص بك لمعرفة كيفية بنائه. في حالتنا ، اكتشف App Platform أننا بصدد نشر موقع Jekyll. تم ملء أمر البناء تلقائيًا.

يمكنك تعديل أمر الإنشاء إذا كنت بحاجة إلى تخصيص كيفية بناء موقعك. يمكنك أيضًا تعيين متغيرات البيئة التي سيتم إتاحتها لعملية الإنشاء.
انشر تطبيقك
انقر فوق الزر "التالي" لإنهاء نشر تطبيقك. ستحتاج إلى تأكيد طبقة App Platform التي تريد النشر إليها. تأكد من تحديد خطة Starter المجانية (أو قم بالتبديل إلى خطة مدفوعة إذا كنت تفضل ذلك) وراجع تكلفة التطبيق الشهرية التي يتم عرضها. أخيرًا ، انقر فوق الزر الأزرق "Launch Starter App" لبدء النشر.

قد يستغرق النشر عدة دقائق حتى يكتمل. يحتاج App Platform إلى إنشاء موقعك ، وتشغيل مترجم Jekyll في حالتنا ، قبل دفعه إلى البنية التحتية لـ DigitalOcean. سيتم عرض التقدم داخل لوحة تحكم المشروع.

في النهاية ، سترى رسالة خضراء "تم النشر بنجاح". تم نشر تطبيقك الآن في سحابة DigitalOcean! انقر فوق ارتباط "التطبيق المباشر" لعرض النشر الخاص بك.سيتم تخصيص نطاق عشوائي
ondigitalocean.appفرعي. في حالتنا ، يمكننا الآن رؤية الصفحة الرئيسية الافتراضية لـ Jekyll

إدارة التطبيق الخاص بك
الآن تطبيقك مباشر ، يمكنك استخدام لوحة القيادة لرصده وإدارته. تتيح لك علامة التبويب "نظرة عامة" التحقق من آخر وقت للنشر والاطلاع على إحصاءات الصحة في لمحة.

للحصول على معلومات أكثر تفصيلاً ، انقر فوق علامة التبويب "الإحصاءات". يعرض هذا الرسوم البيانية للمقاييس التي تسجل معدل نقل بيانات CDN لتطبيقك. استخدم علامة التبويب "عمليات النشر" لعرض محفوظات النشر. سيعرض هذا حدث "نشر أولي" واحد لتبدأ به. سيتم ملؤها بسجلات جديدة أثناء قيامك بعمليات نشر إضافية.

يمكنك الآن محاولة تحديث التطبيق الخاص بك. غيّر ملفًا في مستودعك ، وأنشئ التزام Git وادفعه إلى الفرع الذي تنشر منه. إذا قمت بتمكين عمليات النشر التلقائي ، فستكتشف DigitalOcean حدث الدفع وإعادة النشر تلقائيًا. في غضون بضع دقائق ، سيصبح التغيير ساريًا!
إضافة مجال
يحتوي App Platform على دعم مجال مخصص مدمج. من غير المحتمل أن تكون بيئة "ondigitalocean.app" التي يتم تسليمها افتراضيًا ذات فائدة كبيرة تتجاوز التجارب الأولية.
انقر فوق علامة التبويب "الإعدادات" في لوحة تحكم التطبيق. بعد ذلك ، انقر فوق الارتباط "تحرير" بجوار عنوان المجالات. اضغط على زر "إضافة المجال" واكتب المجال الذي تريد استخدامه.

في الشاشة التالية ، اتبع الإرشادات لربط نطاقك بنشر App Platform الخاص بك. إذا كنت تستخدم خوادم أسماء DigitalOcean ، فستتم إضافة سجلات DNS ذات الصلة تلقائيًا.وإلا ، فسيتعين عليك نسخ سجلات نظام أسماء النطاقات المعروضة يدويًا في واجهة إعدادات نظام أسماء النطاقات لأمين السجل.

انقر فوق "إضافة مجال" لإرفاق النطاق بتطبيقك. ستتمكن من استخدامه للوصول إلى النشر بمجرد أن يتم إعداد دقة نظام أسماء النطاقات بشكل صحيح. ستحصل DigitalOcean تلقائيًا على شهادة SSL لموقعك.
الخلاصة
DigitalOcean's App Platform منافس جديد في مساحة PaaS. يسمح لك بنشر التطبيقات من مستودع Git دون الحاجة إلى التفكير في البنية التحتية. قمت بتوصيل حسابك ، حدد المستودع الخاص بك واتبع التعليمات للحصول على الرمز الخاص بك مباشرة على الإنترنت.
لقد نظرنا فقط إلى النشر الأساسي ، وهو موقع ثابت بدون تبعيات خارجية. يمكن أيضًا استخدام App Platform لاستضافة خدمات الخلفية وقواعد البيانات بسهولة الاستخدام المماثلة.يمكن أن يشتمل كل تطبيق على مكونات متعددة ، مثل PHP API وواجهة أمامية ثابتة وقاعدة بيانات. باستخدام لوحة القيادة ، يمكنك عرض السجلات من خدماتك والحصول على وصول تفاعلي لوحدة التحكم إلى مكوناتك قيد التشغيل.
خلف الكواليس ، يتم تعبئة شفرتك تلقائيًا في حاويات باستخدام Docker. ثم يتم نشره في مجموعات Kubernetes التي تديرها DigitalOcean. يتيح لك استخدام App Platform التركيز على الكود الخاص بك والاستمرار في بناء الميزات ، دون الحاجة إلى القلق بشأن البنية التحتية وعمليات النشر.