تمرين - إنشاء مسار لحزمتك

مكتمل

هنا، ستحصل على التعليمات البرمجية الجديدة للفريق لمشروع Tailspin.SpaceGame.Web.Models المنفصل الآن عن مشروع Tailspin.SpaceGame.Web . ستنشئ مشروع Azure Pipelines لمشروع «النماذج»، وستشاهد البيانات الاصطناعية في Azure Artifacts برقم إصدار 1.0.0 في الموجز لديك.

ما هي التغييرات التي تم إجراؤها على المشروع؟

تذكر أن موقع Space Game هو تطبيق ASP.NET Core. ويستخدم نمط Model-View-Controller (MVC) لفصل البيانات عن كيفية عرض تلك البيانات في واجهة المستخدم. يريد أندي ومارا نقل فئات النموذج إلى مكتبة منفصلة بحيث يمكن لمشاريع متعددة استخدام هذه الفئات.

للقيام بذلك، يقومون بإنشاء مشروع C# جديد يسمى Tailspin.SpaceGame.Web.Models الذي يحتوي على فئات النموذج فقط. في الوقت نفسه، يقومون بإزالة فئات النموذج من مشروعهم الحالي، Tailspin.SpaceGame.Web. يستبدلون فئات النموذج في مشروعهم الحالي بمرجع إلى مشروع Tailspin.SpaceGame.Web.Models .

لإنشاء هذه المشاريع، يستخدم أندي ومارا مسارين، أحدهما لكل مشروع. لديك بالفعل المشروع الأول وتكوين Azure Pipelines المقترن به. هنا، ستقوم بنسخ المشروع الثاني على GitHub وإنشاء تكوين Azure Pipelines لإنشائه. ستقوم بنشر الحزمة الناتجة إلى Azure Artifacts.

إعداد Visual Studio Code

سابقاً، يمكنك إعداد Visual Studio Code للعمل مع مشروع Tailspin.SpaceGame.Web. هنا، ستفتح مثيلا ثانيا من Visual Studio Code حتى تتمكن من العمل مع مشروع Tailspin.SpaceGame.Web.Models .

  1. افتح مثيلاً جديداً من Visual Studio Code.

  2. افتح terminal من Visual Studio Code.

  3. تنقل للدليل الأصل حيث يقع مشروع mslearn-tailspin-spacegame-web. إليك مثال ينتقل إلى الدليل الرئيسي:

    cd ~
    

الحصول على التعليمات البرمجية المصدر

احصل على التعليمة البرمجية المصدر للمشروع Tailspin.SpaceGame.Web.Models من GitHub، وقم بإعداد Visual Studio Code حتى تتمكن من العمل مع الملفات.

إنشاء نسخة المستودع

الخطوة الأولى هي نسخ مستودع mslearn-tailspin-spacegame-web-models حتى تتمكن من العمل مع الملفات المصدر وتعديلها. تذكر أن مارا وضعت دليل Models في مشروع جديد، وأزلته من مشروع الويب.

لتشعب مشروع mslearn-tailspin-spacegame-web-models في حساب GitHub الخاص بك:

  1. من مستعرض ويب، انتقل إلى GitHub، وسجل الدخول.
  2. انتقل إلى مشروع mslearn-tailspin-spacegame-web-models .
  3. حدد تفريع:
  4. لتشعب المستودع في حسابك، اتبع الإرشادات.

استنساخ نسخة المستودع محليا

لنسخ مشاريع mslearn-tailspin-spacegame-web-models إلى جهاز الكمبيوتر الخاص بك:

  1. على GitHub، انتقل إلى نسختك من مشروع mslearn-tailspin-spacegame-web-models .

  2. حدد Code. بعد ذلك، من علامة التبويب HTTPS، حدد الزر المجاور لعنوان URL الذي يظهر لنسخ عنوان URL إلى الحافظة.

    Screenshot showing the URL and copy button from the GitHub repository.

  3. من Visual Studio Code، انتقل إلى نافذة المحطة الطرفية، وقم بتشغيل هذا git clone الأمر. استبدل عنوان URL الذي يظهر بمحتويات الحافظة.

    git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-models.git
    
  4. انتقل إلى دليل mslearn-tailspin-spacegame-web-models . هذا هو الدليل الجذر لمستودعك.

    cd mslearn-tailspin-spacegame-web-models
    

افتح المشروع وافحص التكوين

في Visual Studio Code، تشير نافذة المحطة الطرفية إلى الدليل الجذر لمشروع mslearn-tailspin-spacegame-web-models . افتح المشروع من مستكشف الملفات بحيث يمكنك عرض بنيته والعمل مع الملفات.

  1. أسهل طريقة لفتح المشروع هي إعادة فتح Visual Studio Code في الدليل الحالي. لفعل هذا، بادر بتشغيل الأمر التالي من المحطة الطرفية المتكاملة:

    code -r .
    

    ترى الدليل وشجرة الملفات في مستكشف الملفات.

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

  3. افتح ملف azure-pipelines.yml.

    ترى الخطوات التي تم فيها إنشاء الحزمة، وتعيين الإصدار، وإضافة الحزمة إلى Azure Artifacts.

    تنشئ هذه DotNetCoreCLI@2 المهمة المشروع:

    - task: DotNetCoreCLI@2
      displayName: 'Build the project - $(buildConfiguration)'
      inputs:
        command: 'build'
        arguments: '--no-restore --configuration $(buildConfiguration)'
        projects: '**/*.csproj'
    

    تحزم هذه DotNetCoreCLI@2 المهمة المشروع بإصدار 1.0.0:

    - task: DotNetCoreCLI@2
      displayName: 'Pack the project - $(buildConfiguration)'
      inputs:
        command: 'pack'
        projects: '**/*.csproj'
        arguments: '--no-build --configuration $(buildConfiguration)'
        versioningScheme: byPrereleaseNumber
        majorVersion: '1'
        minorVersion: '0'
        patchVersion: '0'
    

    عند تطوير الحزمة الخاصة بك، من الشائع استخدام byPrereleaseNumber نظام تعيين الإصدار. يؤدي هذا إلى إلحاق لاحقة فريدة من نوعها قبل الإصدار مثل "-CI-20190621-042647" إلى نهاية رقم الإصدار. باتباع هذا المثال، سيكون رقم الإصدار الكامل "1.0.0-CI-20190621-042647".

    تدفع هذه NuGetCommand@2 المهمة الحزمة إلى موجز Azure Artifacts Tailspin.SpaceGame.Web.Models :

    - task: NuGetCommand@2
      displayName: 'Publish NuGet package'
      inputs:
        command: push
        feedPublish: '$(System.TeamProject)/Tailspin.SpaceGame.Web.Models'
        allowPackageConflicts: true
      condition: succeeded()
    

    feedPublish تحديد اسم الموجز ليتم نشره إليه. تنسيق الاسم هو <projectName>/<feedName>، حيث:

    • $(System.TeamProject) هو متغير معرف مسبقا يشير إلى اسم المشروع الخاص بك؛ على سبيل المثال، "Space Game - web - Dependencies".
    • Tailspin.SpaceGame.Web.Models هو اسم الموجز الذي قدمته في التمرين السابق.

تعيين الأذونات

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

  1. انتقل إلى مشروعك في Azure DevOps.
  2. حدد Artifacts من القائمة على اليسار.
  3. حدد أيقونة الإعدادات في الجزء العلوي الأيسر من الشاشة، ثم حدد علامة التبويب أذونات.
  4. حدد الزر Add users/groups.
  5. في الحقل Users/Groups ، أدخل Space Game - web - Dependencies Build Service، وحدد دور Contributor ، وحدد Save.

إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية في Azure Pipelines

لقد تعلمت كيفية إعداد Azure Pipelines في وحدة نمطية سابقة. إذا كنت بحاجة إلى تحديث، فتوجه إلى Create a build pipeline with Azure Pipelines.

هنا ستتعرف على كيفية إعداد البنية الأساسية لبرنامج ربط العمليات التجارية الثانية لإنشاء الحزمة، وتحميل هذه الحزمة إلى Azure Artifacts.

  1. من Azure DevOps، انتقل إلى مشروع Space Game - web - Dependencies .

  2. من القائمة على اليسار، حدد Pipelines.

  3. حدد "مسار جديد".

  4. من علامة التبويب الاتصال، حدد GitHub.

  5. من علامة التبويب تحديد، حدد mslearn-tailspin-spacegame-web-models.

    إذا طلب منك ذلك، أدخل بيانات اعتماد GitHub. من الصفحة التي تظهر، قم بالتمرير إلى الأسفل، وحدد Approve and install.

  6. من علامة التبويب مراجعة، سترى ملف azure-pipelines.yml الخاص بالبنية الأساسية لبرنامج ربط العمليات التجارية الجديدة.

  7. حدد تشغيل.

  8. شاهد تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية.

  9. انتقل إلى علامة التبويب Artifacts .

  10. من القائمة المنسدلة في الأعلى، حدد Tailspin.SpaceGame.Web.Models.

    A screenshot showing the location of the package from the dropdown.

    ترى الحزمة الناتجة، Tailspin.SpaceGame.Web.Models، في Azure Artifacts.

    A screenshot of the package in Azure Artifacts, showing version 1.0 of the package.

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

    A screenshot of Azure Artifacts showing package details. Highlighted is the version number for the package.

    ستستخدم رقم الإصدار هذا في الوحدة التالية.