تمرين - دفع تغيير عبر البنية الأساسية لبرنامج ربط العمليات التجارية

مكتمل

يمكنك في هذه الوحدة التدرب على سير عمل التعليمات البرمجية الكامل عن طريق إجراء تغييرات طفيفة على موقع Space Game إلى GitHub.

تم تكليف مارا بمهمة تغيير بعض النص على الصفحة الرئيسية لموقع الويب Index.cshtml. في هذه الوحدة، ستتابعها.

دعونا نستعرض بإيجاز الخطوات التي يجب اتباعها لإكمال المهمة:

  • مزامنة المستودع المحلي مع أحدث main فرع على GitHub
  • إنشاء فرع للاحتفاظ بالتغييرات
  • قم بإجراء تغييرات التعليمات البرمجية التي تحتاجها، وتحقق منها محليا
  • دفع فرعك إلى GitHub
  • دمج أي تغييرات حديثة main من الفرع على GitHub في فرع العمل المحلي، والتحقق من أن التغييرات لا تزال تعمل
  • ادفع أي تغييرات متبقية، وشاهد Azure Pipelines تقوم ببناء التطبيق، وإرسال طلب السحب الخاص بك

إحضار أحدث فرع رئيسي

في الوحدة السابقة، قمت بإنشاء طلب سحب ودمج فرعك code-workflow في main الفرع على GitHub. الآن تحتاج إلى سحب التغييرات للعودة إلى main الفرع المحلي الخاص بك.

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

  1. في المحطة الطرفية، شغّل git checkout main للتبديل إلى الفرع main:

    git checkout main
    
  2. لسحب أحدث التغييرات، قم بتشغيل هذا git pull الأمر:

    git pull origin main
    

    يمكنك عرض قائمة الملفات التي تم تغييرها. كخطوة اختيارية، يمكنك فتح ملف azure-pipelines.yml للتحقق من أنه يحتوي على تكوين البناء الكامل.

    تذكر أن مستودع Git حيث يتعاون أعضاء الفريق (مثل على GitHub) يسمى بعيد. هنا، يحدد الأصل مستودعك على GitHub.

    لاحقا، ستقوم بإحضار التعليمات البرمجية للبداية من مستودع Microsoft GitHub، والمعروف باسم المصدر.

إنشاء تطبيق الويب وتشغيله

للتأكد من أن لديك نسخة عمل لبدء التغييرات الخاصة بك، قم بإنشاء وتشغيل تطبيق الويب محليا.

  1. في Visual Studio Code، انتقل إلى نافذة المحطة الطرفية وقم بتشغيل الأمر التالي dotnet build لإنشاء التطبيق:

    dotnet build --configuration Release
    
  2. قم بتشغيل الأمر التالي dotnet run لتشغيل التطبيق:

    dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web
    

    تلميح

    إذا رأيت خطأ في المستعرض يتعلق بخطأ في الخصوصية أو الشهادة، فحدد Ctrl+C من المحطة الطرفية لإيقاف تشغيل التطبيق.

    ثم قم بتشغيل dotnet dev-certs https --trust وحدد نعم عند مطالبتك بذلك، أو راجع منشور المدونة هذا للحصول على مزيد من المعلومات.

    بعد أن يثق الكمبيوتر في شهادة SSL المحلية، قم بتشغيل dotnet run الأمر مرة ثانية وانتقل إلى http://localhost:5000 من علامة تبويب مستعرض جديدة لرؤية التطبيق قيد التشغيل.

تحقق من تشغيل التطبيق

في وضع التطوير، يتم تكوين موقع Space Game لتشغيله على المنفذ 5000.

في علامة تبويب مستعرض جديدة، انتقل إلى http://localhost:5000 لمشاهدة التطبيق قيد التشغيل.

يجب أن تشاهد هذا:

Screenshot of the Space Game website running in a web browser.

يمكنك التفاعل مع الصفحة، بما في ذلك لوحة المتصدرين. عند تحديد اسم لاعب، سترى تفاصيل حول هذا اللاعب.

عند الانتهاء، ارجع إلى نافذة المحطة الطرفية وحدد Ctrl+C لإيقاف تشغيل التطبيق.

إنشاء فرع ميزة

في هذا القسم، ستقوم بإنشاء فرع Git بحيث يمكنك العمل على الملفات دون التأثير على أي شخص آخر. لن يعرف أحد أنك تعمل على هذه الملفات حتى تدفعها إلى المستودع البعيد.

لإنشاء فرع، يمكنك استخدام git checkout الأمر وإعطاء الفرع الخاص بك اسما، تماما كما فعلت في الجزء السابق.

قبل إنشاء فرع، من الجيد الالتزام باصطلاح التسمية. على سبيل المثال، إذا كان فرعك مخصصا للعمل على ميزة جديدة، فقد تستخدم feature/<branch-name>. لإصلاح الأخطاء، يمكنك استخدام bugfix/<bug-number>. في هذا المثال، سيكون feature/home-page-textاسم الفرع الخاص بك هو .

في المحطة الطرفية الخاصة بك، قم بتشغيل الأمر التالي git checkout :

git checkout -B feature/home-page-text

مثل السابق، فإن feature/home-page-text يستند إلى الفرع main.

إجراء التغييرات واختبارها محليا

  1. في Visual Studio Code، افتح Index.cshtml في دليل Tailspin.SpaceGame.Web/Views/Home .

  2. ابحث عن هذا النص بالقرب من أعلى الصفحة:

    <p>An example site for learning</p>
    

    تلميح

    يوفر Visual Studio Code أيضا طريقة سهلة للبحث عن نص في الملفات. للوصول إلى جزء البحث، حدد أيقونة عدسة التكبير في الجزء الجانبي.

  3. استبدل النص في الخطوة السابقة بالنص التالي "خطأ في كتابة"، ثم احفظ الملف:

    <p>Welcome to the oficial Space Game site!</p>
    

    لاحظ أن كلمة "منسية" خاطئة عن قصد. سنعالج هذا الخطأ لاحقا في هذه الوحدة.

  4. في المحطة الطرفية الخاصة بك، قم بتشغيل الأمر التالي dotnet build لإنشاء التطبيق:

    dotnet build --configuration Release
    
  5. قم بتشغيل الأمر التالي dotnet run لتشغيل التطبيق:

    dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web
    
  6. في علامة تبويب مستعرض جديدة، انتقل إلى http://localhost:5000 لمشاهدة التطبيق قيد التشغيل.

    يمكنك أن ترى أن الصفحة الرئيسية تحتوي على النص المحدث.

    Screenshot of the Space Game website with updated text. The text contains a spelling error.

    عند الانتهاء، ارجع إلى نافذة المحطة الطرفية، ثم اضغط على Ctrl+C لإيقاف تشغيل التطبيق.

تثبيت فرعك ودفعه

هنا ستقوم بإعداد التغييرات الخاصة بك إلى Index.cshtml، وتثبيت التغيير إلى فرعك، ودفع فرعك إلى GitHub.

  1. شغّل git status للتحقق لمعرفة ما إذا كانت هناك تغييرات غير مثبّتة على الفرع:

    git status
    

    سترى أنه أُجري تعديل على Index.cshtml. مثل السابق، فإن الخطوة التالية هي التأكد من أن Git يتتبع هذا الملف المُسمى staging.

  2. شغّل الأمر التالي git add لعرض Index.cshtml:

    git add Tailspin.SpaceGame.Web/Views/Home/Index.cshtml
    
  3. شغّل الأمر التالي git commit لتثبيت الملف المرحلي بالفرع feature/home-page-text:

    git commit -m "Improve the text at the top of the home page"
    
  4. شغّل الأمر git push هذا لدفع الفرع feature/home-page-text أو تحميله إلى مستودعك على GitHub:

    git push origin feature/home-page-text
    
  5. كما كان الحال من قبل، يمكنك تحديد موقع فرعك على GitHub من المربع المنسدل للفرع.

    Screenshot of GitHub showing the new branch.

شاهد Azure Pipelines تنشئ التطبيق

تماما كما فعلت سابقا، تقوم Azure Pipelines تلقائيا بقوائم انتظار البنية عند دفع التغييرات إلى GitHub.

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

قم بمزامنة أي تغييرات على الفرع الرئيسي

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

للقيام بذلك، قم أولا بسحب الفرع أو التبديل إليه main ، ثم دمج الفرع البعيد main مع الفرع المحلي main .

بعد ذلك، تحقق من فرع الميزات، ثم ادمج فرع الميزة مع main الفرع.

لنجرب العملية الآن.

  1. في المحطة الطرفية، قم بتشغيل هذا git checkout الأمر للتحقق من main الفرع:

    git checkout main
    
  2. لتنزيل أحدث التغييرات على الفرع البعيد main ودمج هذه التغييرات في الفرع المحلي main ، قم بتشغيل هذا git pull الأمر:

    git pull origin main
    

    نظرًا إلى أنه لا يُوجد أحد أجرى تغييرات بالفعل على الفرع main، فإن الأمر التالي يخرك بأن كل شيء مُحدّث بالفعل.

    From https://github.com/username/mslearn-tailspin-spacegame-web
     * branch            main     -> FETCH_HEAD
    Already up to date.
    
  3. للتحقق من فرع الميزة، قم بتشغيل git checkout:

    git checkout feature/home-page-text
    
  4. دمج فرع الميزات الخاص بك مع main:

    git merge main
    

    مرة أخرى، نظرا لعدم قيام أي شخص بالفعل بإجراء أي تغييرات على فرعك main ، ترى أن كل شيء لا يزال محدثا.

    Already up to date.
    

    إذا قمت بتضمين أي تغييرات، فقد ترغب في اختبار طلبك مرة أخرى للتأكد من استمرار عمل كل شيء.

دفع الفرع المحلي مرة أخرى

عند دمج التغييرات من المستودع البعيد في فرع الميزات المحلي، تحتاج إلى دفع الفرع المحلي مرة أخرى إلى المستودع البعيد مرة ثانية.

على الرغم من أنك لم تقم بدمج أي تغييرات من المستودع البعيد، دعنا نتدرب على العملية لمعرفة ما يحدث.

  1. قم بتشغيل هذا git push الأمر لدفع التغييرات إلى GitHub:

    git push origin feature/home-page-text
    

    يفيد الرد، مرة أخرى، بأنك على علم بآخر التحديثات بالفعل نظرًا إلى عدم إجراء أي تغييرات.

    Everything up-to-date
    

إرسال طلب سحب

في هذا القسم، يمكنك إرسال طلب سحب تماما كما فعلت سابقا.

  1. في المتصفح، سجل الدخول إلى GitHub.

  2. انتقل إلى مستودع mslearn-tailspin-spacegame-web الخاص بك.

  3. في القائمة المنسدلة، حدد الفرع الخاص بك feature/home-page-text .

  4. لبدء طلب السحب، حدد Contribute ثم Open pull request.

  5. تأكد من أن القائمة المنسدلة الأساسية تحدد المستودع الخاص بك وليس مستودع Microsoft.

    Screenshot of GitHub confirming that the branch can be merged.

    هام

    مرة أخرى، هذه الخطوة مهمة لأنه لا يمكنك دمج تغييراتك في مستودع Microsoft.

    عند العمل مباشرة مع المستودع الخاص بك، وليس نسخة المستودع، يتم تحديد فرعك main بشكل افتراضي.

  6. أدخل عنوانا ووصفا لطلب السحب.

    • العنوان: تحسين النص في أعلى الصفحة الرئيسية
    • الوصف: تلقى أحدث نص للصفحة الرئيسية من فريق المنتج.
  7. لإكمال طلب السحب، حدد إنشاء طلب سحب.

    لا تدمج هذه الخطوة أي تعليمة برمجية. يخبر الآخرين أن لديك تغييرات تقترح دمجها.

    يتم عرض نافذة طلب السحب. كما كان من قبل، يؤدي طلب السحب إلى تشغيل Azure Pipelines لإنشاء تطبيقك بشكل افتراضي.

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

  9. عند الانتهاء من البناء، ارجع إلى طلب السحب الخاص بك على GitHub.

  10. حدد Merge pull request، ثم حدد Confirm merge.

  11. حدد Delete branch لحذف الفرع feature/home-page-text من GitHub.