تدريب - إنشاء مساحات توزيع

مكتمل

مساحة التوزيع هي مثيل تطبيق ويب يمكنك من خلاله اختبار إصدار تطبيق جديد قبل توزيعه. بتبديل المساحات، يمكنك توزيع إصدار جديد من التطبيق دون أي وقت تعطل.

لنفترض أنك قررت استخدام فتحات التوزيع الخاصة بـ Azure App Service من أجل تسهيل عملية توزيع الإصدارات الجديدة من تطبيق الوسائط الاجتماعية الخاص بك على الويب. عليك إعداد تطبيق الويب في Azure وتكوين فتحة توزيع واحدة أو أكثر.

في هذا التمرين، ستعد تطبيق ويب، وتضيف فتحة توزيع جديدة للتقسيم المرحلي، وتوزع إصدارات مختلفة من تطبيق الويب على فتحات التشغيل والتقسيم المرحلي.

هام

تحتاج إلى اشتراك Azure الخاص بك لتشغيل هذا التمرين، وقد تتكبد رسوماً. إذا لم يكن لديك بالفعل اشتراك Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.

أنشئ تطبيق ويب

ابدأ بإنشاء مورد جديد لتطبيق الويب في مدخل Azure.

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. في قائمة المصادر، أو من صفحة Home حدد Create a resource. يظهر إنشاء جزء مصدر.

  3. في قائمة الموارد، حدد Web، ومن النتائج، حدد Web App. سيظهر جزء Create Web App.

  4. في علامة التبويب "Basics"، أدخل القِيم التالية لكل إعداد.

    الإعداد القيمة‬
    تفاصيل المشروع
    الوصف حدد الاشتراك الذي تريد استخدامه لإكمال التدريب
    مجموعة الموارد حدد رابط Create new وأدخل mslearn-slots وحدد OK.
    تفاصيل المثيل
    الاسم أدخل اسمًا فريدًا.
    نشر الرمز
    مكدس وقت التشغيل ASP.NET V4.8
    نظام تشغيل Windows
    المنطقة حدد منطقة قريبة منك.
    خطة App Service
    خطة Windows اقبل الافتراضي.
    Sku والحجم اقبل الافتراضي.
  5. حدد Next : Deployment.

  6. حدد التالي: شبكة الاتصال.

  7. حدد التالي : مراقبة، وأدخل القيمة التالية للإعداد.

    الإعداد القيمة‬
    Application Insights
    تمكين "Application Insights" التبديل إلى لا
  8. حدد مراجعة + إنشاء، ثم حدد إنشاء. انتظر حتى ينجح التوزيع.

  9. بعد اكتمال التوزيع، حدد Go to resource. سيظهر جزء App Service لتطبيق الويب.

تكوين توزيع git

على الرغم من أنه يمكنك استخدام العديد من الأدوات المختلفة لتوزيع التعليمات البرمجية في تطبيق الويب الخاص بك، في هذا التمرين، ستعد تطبيق الويب لاستخدام مستودع git محلي.

  1. في قائمة App Service، ضمن Deployment، حدد Deployment Center. يظهر جزء Deployment Center لخدمة تطبيقك.

  2. في علامة التبويب Settings، بالنسبة للمصدر، حدد Local Git، ثم حدد Save على شريط الأوامر لإعداد توزيعك.

  3. حدد علامة التبويب Local Git/FTPS credentials ضمن User scope، أدخل اسم مستخدم وكلمة مرور فريدين من اختيارك، ثم في شريط الأوامر، حدد Save. دوّن اسم المستخدم وكلمة المرور لاستخدامهم في وقت لاحق.

قم بتكوين عميل git وانسخ التعليمة البرمجية المصدر لتطبيق الويب

ستقوم الآن بإعداد عميل git في Cloud Shell واستخدامه لاستنساخ نموذج لتطبيق ويب.

  1. في عناصر التحكم العمومية في Azure في أعلى الصفحة، حدد أيقونة Cloud Shell لإطلاق جلسة عمل Azure Cloud Shell.

    Screenshot of the Cloud Shell icon in global controls.

  2. في جلسة عمل Cloud Shell، عند المطالبة، حدد تجربة Bash وأنشئ موقع تخزين لاشتراكك.

    إشعار

    يتطلب Cloud Shell مورد تخزين Azure للاستمرار في أي ملفات تقوم بإنشائها في Cloud Shell. عند فتح Cloud Shell لأول مرة، تتم مطالبتك بإنشاء مجموعة موارد وحساب تخزين ومشاركة ملفات Azure. يتم استخدام هذا الإعداد تلقائيا لجميع جلسات عمل Cloud Shell المستقبلية.

  3. أدخل الأمر التالي في Cloud Shell، واستبدل <your-username> باسم المستخدم المفضل لديك. لا ترتبط قيمة التكوين هذه بأي حساب Azure، لذا يمكنك استخدام أي قيمة تريدها.

    git config --global user.name <your-username>
    
  4. أدخل الأمر التالي في Cloud Shell، واستبدل <your-email-address> بعنوان البريد الإلكتروني المفضل لديك. لا ترتبط قيمة التكوين هذه بأي حساب Azure، لذا يمكنك استخدام أي قيمة تريدها.

    git config --global user.email <your-email-address>
    
  5. أدخل التعليمات البرمجية التالية لإنشاء المجلد demoapp للتعليمات البرمجية المصدر وفتحه.

    mkdir demoapp
    cd demoapp
    
  6. أدخل التعليمة البرمجية التالية لنسخ المصدر لتطبيق الويب وفتح نسختك المحلية.

    git clone https://github.com/Azure-Samples/app-service-web-dotnet-get-started.git
    cd app-service-web-dotnet-get-started
    

تكوين جهاز تحكم عن بعد لـ git لتوزيع التطبيق على الإنتاج

سنستخدم git لتوزيع التعليمة البرمجية المصدر على فتحة إنتاج تطبيق الويب، ثم نعد عنوان URL الخاص بـ git للتطبيق باعتباره مستودعاً بعيداً.

  1. في مدخل Azure، يجب أن يكون تطبيق الويب نشطاً. في قائمة الموارد، حدد Overview.

  2. في جزء Overview لتطبيق الويب الخاص بك، يحتوي قسم Essentials على عنوان URL في المجال الافتراضي. لاحظ أن عنوان URL يحتوي على اسم النشر لتطبيق الويب.

    Screenshot of the Essentials section, where you Copy the git clone URL.

    إشعار

    إذا لم يظهر عنوان URL لنسخة git كما كان موضحاً في لقطة الشاشة السابقة، بادر بتحديث المدخل.

  3. مرر مؤشر الماوس فوق عنوان URL الخاص باستنساخ Git وحدد أيقونة Copy to clipboard. لاحظ أن هذه القيمة تحتوي أيضاً على اسم مستخدم النشر.

  4. في Cloud Shell، قم بتشغيل الأمر التالي لتكوين git عن بُعد باسم "production". استبدل <git-clone-url> بالمحتوى الذي نسخته إلى الحافظة من الخطوة السابقة.

    cd app-service-web-dotnet-get-started
    git remote add production <git-clone-url>
    
  5. شغل الأمر التالي لتوزيع تطبيق الويب على فتحة التشغيل. عند مطالبتك بكلمة المرور، أدخل كلمة مرور التوزيع التي أنشأتها في المهمة السابقة.

    git push production
    

    تحدد جلسة terminal جميع العمليات التي تحدث باعتبارها جزءاً من عملية التوزيع. انتظر حتى تكتمل عملية التوزيع. ينبغي أن ترى إعلام Deployment successful.

  6. في مدخل Azure portal، ينبغي أن يظل الجزء Overview مفعلاً. مرر مؤشر الفأرة فوق URL. يمكنك إما النقر فوقه نقراً مزدوجاً لفتحه في علامة تبويب متصفح جديدة أو نسخه ولصقه في علامة تبويب متصفح جديدة.

    Screenshot of your web app in the production slot.

  7. أغلق علامة تبويب المستعرض التي تعرض تطبيق الويب.

إنشاء مساحة تقسيم مرحلي جديدة

بالنسبة لتطبيق الويب الخاص بك، فأنت قد أنشأت فتحة واحدة، وفتحة التشغيل، ووزعت التعليمة البرمجية المصدر إلى هذه الفتحة. لننشئ فتحة توزيع حيث يمكنك عرض إصدارات جديدة من تطبيق الويب خاصتك.

  1. في قائمة مدخل Azure، حدد Home، ضمن Azure services، حدد All resources. بادر بالتصفية حسب Type == App Service، ثم حدد Apply.

  2. بادر بفرز النتيجة حسب Type، ثم حدد App Service التي أنشأتها. سيظهر جزء App Service لتطبيق الويب.

  3. في قائمة App Service، ضمن Deployment، حدد Deployment slots. يظهر جزء Deployment slots لـ App Service.

    Screenshot of the App Service menu with Deployment slots highlighted.

  4. في شريط الأوامر، حدد + إضافة فتحة. سيظهر جزء إضافة مساحة.

  5. في حقل Name، أدخل Staging، واقبل الإعداد الافتراضي Clone settings from، ثم حدد Add.

  6. بعد إنشاء خانة النشر بنجاح، حدد Close.

إعداد توزيع git لمساحة التقسيم المرحلي

لنبادر بإعداد الفتحة الجديدة لاستخدام توزيع git.

  1. في قائمة مدخل Azure، حدد الصفحة Home، ضمن Azure services، حدد All resources.

  2. بادر بفرز الموارد حسب Resource group. بالنسبة لمجموعة الموارد mslearn-slots، سترى نوعين من App Service. تتمثل خانات النشر في تطبيقات منفصلة في المدخل.

  3. حدد فتحة التقسيم المرحلي. يظهر جزء Overview لـ App Service (الفتحة).

  4. في قائمة Staging، ضمن Deployment، حدد Deployment Center.

  5. في علامة التبويب Settings، بالنسبة للمصدر، حدد Local Git، ثم حدد Save على شريط الأوامر لإعداد التوزيع للتقسيم المرحلي.

  6. في جزء Deployment Center الناتج، حدد علامة التبويب Local Git/FTPS credentials.

  7. ضمن User scope، أدخل اسم مستخدم وكلمة مرور من اختيارك ثم حدد Save. يحدث Azure بيانات اعتماد المستخدم. دوّن اسم المستخدم وكلمة المرور لاستخدامهم في وقت لاحق.

إعداد git لتوزيع التطبيق على مساحة التقسيم المرحلي

لاستخدام عميل git لتوزيع التعليمة البرمجية المصدر إلى الفتحة الجديدة، لنضف جهاز تحكم بعيد إضافي إلى تكوين git.

  1. في قائمة App Service، حدد Overview. إذا تمت مطالبتك بحفظ كلمة المرور لاسم المستخدم الذي أنشأته في المهمة السابقة، فحدد Save.

  2. في جزء Overview في قسم Essentials مرر مؤشر الفأرة فوق القيمة Git clone url وحدد أيقونة Copy to clipboard. لاحظ أن عنوان URL يحتوي على اسم المستخدم الخاص بتوزيع التقسيم المرحلي خاصتك.

    إشعار

    إذا لم تشاهد عنوان URL الخاص بنسخ git، حدث المدخل. لاحظ أن Git clone url للتقسيم المرحلي يختلف قليلاً عن عنوان URL الخاص بفتحة التشغيل، ويتضمن اسم الفتحة.

  3. في Cloud Shell، تأكد من أنك في المجلد ~/demoapp/app-service-web-dotnet-get-started ثم شغَّل الأمر التالي، مستبدلاً <git-clone-uri> بعنوان URL الذي نسخته في الخطوة السابقة.

    git remote add staging <git-clone-uri>
    

تعديل التعليمة البرمجية المصدر للتطبيق وتوزيع التطبيق على مساحة التقسيم المرحلي

بعد ذلك، لندخل تغيير صغير على ملفات تطبيق الويب، ثم استخدم git لتوزيع الإصدار الجديد على فتحة التقسيم المرحلي:

  1. في Cloud Shell، عليك تشغيل الأمر التالي.

    code .
    
  2. في قائمة FILES، اعرض مجلدات aspnet-get-started>Views>Home وحدد Index.cshtml.

  3. حدد موقع HTML التالية.

    <h1>ASP.NET</h1>
    
  4. استبدل هذه التعليمة البرمجية بـ HTML.

    <h1>Web App Version 2</h1>
    
  5. اضغط على Ctrl+S لحفظ تغييراتك ثم اضغط على Ctrl+Q لإغلاق المحرر.

  6. في Cloud Shell، بادر بتشغيل الأوامر التالية لتثبيت إصدار التطبيق الجديد إلى git، وتوزيعه على فتحة التقسيم المرحلي.

    git add .
    git commit -m "New version of web app."
    git push staging
    

    عند المطالبة، أدخل كلمة مرور النشر. إعلامات العمليات لإنشاء وتوزيع التقسيم المرحلي في جلسة عمل Cloud Shell، ويجب عرض التوزيع الناجح.

استعراض مساحة التقسيم المرحلي

يمكنك الآن عرض الإصدار الجديد من تطبيق الويب بالاستعراض وصولاً إلى URL الخاص بفتحة التوزيع للتقسيم المرحلي.

  1. في مدخل Microsoft Azure، في جزء Overview لفتحة التقسيم المرحلي، حدد Browse من شريط الأوامر، أو حدد عنوان URL في المجال الافتراضي. تظهر الصفحة الرئيسية للتقسيم المرحلي لـ Web App Version 2 في علامة تبويب المستعرض.

    Screenshot of the updated web app in the staging slot.

تهانينا، لقد أنشأت فتحة تقسيم مرحلي لها نسختها الخاصة من التعليمة البرمجية الخاصة بتطبيق الويب، ويمكنك تشغيل الاختبارات عليها. تذكر أن مساحة الإنتاج تحتوي على إصدار تطبيق الويب السابق، ولا يمكن للمستخدمين رؤية التعليمة البرمجية الجديدة بعد.