البرنامج التعليمي: نشر تطبيق حاوية مع CI/CD إلى نظام مجموعة Service Fabric

هذا البرنامج التعليمي هو الجزء الثاني من سلسلة، ويصف كيفية إعداد التكامل المستمر والنشر لتطبيق حاوية Azure Service Fabric باستخدام Visual Studio وAzure DevOps. مطلوب تطبيق "Service Fabric" موجودة، ويتم استخدام التطبيق الذي تم إنشاؤه في نشر تطبيق .NET في حاوية Windows إلى Azure Service Fabric كمثال.

في الجزء الأول من السلسلة، ستتعلم كيفية:

  • إضافة عنصر تحكم مصدر إلى المشروع
  • إنشاء تعريف بنية في مستكشف الفريق لدى Visual Studio
  • إنشاء تعريف إصدار في مستكشف الفريق لدى Visual Studio
  • نشر تطبيق وترقيته تلقائيًّا

المتطلبات الأساسية

قبل أن تبدأ هذا البرنامج التعليمي:

إعداد ملف تعريف نشر

والآن بعد أن قمت بنشر تطبيق حاوية، فأنت جاهز لإعداد التكامل المستمر. أولًا، قم بإعداد ملف تعريف نشر داخل التطبيق الخاص بك للاستخدام من قبل عملية النشر التي تُنفذ داخل DevOps Azure. يجب تكوين ملف تعريف النشر لاستهداف نظام المجموعة الذي قمت بإنشائه مسبقًا. بدء Visual Studio وفتح مشروع تطبيق "Service Fabric" الموجود. في Solution Explorer، انقر بزر الماوس الأيمن فوق التطبيق وحدد Publish....

اختر ملف تعريف هدفًا ضمن مشروع التطبيق؛ لاستخدامه لسير عمل التكامل المستمر، السحابة على سبيل المثال. حدد نقطة نهاية اتصال نظام المجموعة. تحقق من خانة اختيار Upgrade the Application بحيث يتم ترقية التطبيق الخاص بك لكل نشر في DevOps Azure. انقر فوق الارتباط التشعبي Save لحفظ الإعدادات إلى ملف تعريف النشر ثم انقر فوق Cancel لغلق مربع الحوار.

Push profile

شارك الحل Visual Studio الخاص بك إلى إعادة إنشاء Azure DevOps Git الجديد

مشاركة ملفات مصدر التطبيق إلى مشروع فريق في Azure DevOps بحيث يمكنك إنشاء بنيات.

إنشاء repo Git محلية جديدة لمشروعك عن طريق تحديد إضافة التحكم في المصدر ->Git على شريط الحالات في الزاوية اليمنى السفلى من Visual Studio.

في طريقة العرض Push في Team Explorer، حدد الزر Publish Git Repo أسفل Push to Azure DevOps.

Screenshot of the Team Explorer - Synchronization window in Visual Studio. Under Push to Azure DevOps, the Publish to Git Repo button is highlighted.

تحقق من بريدك الإلكتروني وحدد مؤسستك في القائمة المنسدلة Account. قد تضطر إلى إعداد مؤسسة إذا لم يكن لديك واحدة بالفعل. أدخل اسم المستودع وحدد Publish repository.

Screenshot of the Push to Azure DevOps window. The settings for Email, Account, Repository name, and the Publish Repository button are highlighted.

يؤدي نشر المستودع إلى إنشاء مشروع فريق جديد في حسابك بنفس اسم المستودع المحلي. لإنشاء المستودع في مشروع فريق موجود، انقر فوق Advanced بجوار اسم Repository وحدد مشروع فريق. يمكنك عرض التعليمات البرمجية على الويب عن طريق تحديد See it on the web.

تكوين التسليم المستمر باستخدام Azure Pipelines

تعريف بنية Azure DevOps يصف سير عمل يتكون من مجموعة من خطوات البناء التي يتم تنفيذها بشكل تسلسلي. إنشاء تعريف بنى ينتج حزمة تطبيق "Service Fabric" والبيانات الاصطناعية الأخرى لنشرها إلى نظام مجموعة "Service Fabric". تعرف على المزيد حول تعريفات الإنشاءلـ Azure DevOps.

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

إنشاء تعريف بنية

افتح مشروع الفريق الجديد عن طريق التنقل إلى https://dev.azure.com مستعرض ويب وتحديد مؤسستك، متبوعًا بالمشروع الجديد.

حدد الخيار Pipelines على اللوحة اليمنى، ثم انقر فوق New Pipeline.

إشعار

إذا لم تشاهد قالب تعريف البنية، تأكد من إيقاف تشغيل ميزة New YAML pipeline creation experience. تم تكوين هذه الميزة ضمن المقطع Preview Features من حساب DevOps الخاص بك.

New Pipeline

حدد Azure Repos Git كمصدر واسم مشروع الفريق ومستودع المشروع والفرع الافتراضي master أو البنى اليدوية والمقررة. ثم انقر فوق Continue.

في Select a template، حدد قالب Azure Service Fabric application with Docker support وانقر فوق Apply.

Choose build template

في Tasks، حدد Hosted VS2017 كـ Agent pool.

Select tasks

انقر فوق Tag images.

في Container Registry Type، حدد Azure Container Registry. حدد Azure Subscription، ثم انقر فوق Authorize. حدد Azure Container Registry.

Select Docker Tag images

انقر فوق Push images.

في Container Registry Type، حدد Azure Container Registry. حدد Azure Subscription، ثم انقر فوق Authorize. حدد Azure Container Registry.

Select Docker Push images

ضمن علامة التبويب Triggers، تمكين التكامل المستمر عن طريق التحقق Enable continuous integration. ضمن Branch filters، انقر فوق + Add، وسيتم تعيين Branch specification بشكل افتراضي إلى master.

في Save build pipeline and queue dialog، انقر فوق Save & queue لبدء عملية بناء يدويًّا.

Select triggers

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

إنشاء تعريف إصدار

حدد الخيار Pipelines على اللوحة اليمنى، ثم Releases، ثم + New pipeline. في Select a template، حدد قالب Azure Service Fabric Deployment من القائمة ثم Apply.

Choose release template

حدد Tasks، ثم Environment 1، ثم +New لإضافة اتصال مجموعة نظام جديد.

Add cluster connection

في طريقة العرض Add new Service Fabric الاتصال ion حدد Certificate Based أو Microsoft Entra ID authentication. حدد اسم اتصال "mysftestcluster"، ونقطة نهاية مجموعة نظام "tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000" (أو نقطة النهاية مجموعة نظام التي تقوم بنشرها).

للمصادقة المستندة إلى الشهادة، قم بإضافة Server certificate thumbprint لشهادة الخادم المستخدمة لإنشاء مجموعة النظام. في Client certificate، قم بإضافة ترميز 64-الأساسي لملف شهادة العميل. راجع الإطار المنبثق للمساعدة في هذا الحقل للحصول على معلومات حول كيفية الحصول على تمثيل الشهادة المشفرة الأساسية-64. إضافة Password للشهادة أيضًا. يمكنك استخدام شهادة نظام المجموعة أو الخادم إذا لم يكن لديك شهادة عميل منفصلة.

بالنسبة إلى بيانات اعتماد Microsoft Entra، أضف بصمة إبهام شهادة الخادم لشهادة الخادم المستخدمة لإنشاء نظام المجموعة وبيانات الاعتماد التي تريد استخدامها للاتصال بالمجموعة في حقلي اسم المستخدم وكلمة المرور.

انقر فوق Add لحفظ اتصال نظام المجموعة.

ضمن عامل المرحلة، انقر فوق Deploy Service Fabric Application. انقر فوق Docker Settings ثم انقر فوق Configure Docker settings. في Registry Credentials Source، حدد Azure Resource Manager Service Connection. ثم حدد Azure subscription.

Release pipeline agent

بعد ذلك، إضافة بيانات اصطناعية للبنية إلى البنية الأساسية بحيث يمكن العثور على تعريف الإصدار الإخراج من البنية. حدد Pipeline وArtifacts>+Add. في In Source (Build definition)، حدد تعريف البنية الذي قمت بإنشائه مسبقًا. انقر فوق Add لحفظ البيانات الاصطناعية للبنية.

Add artifact

تمكين مشغل نشر مستمر بحيث يتم إنشاء إصدار تلقائي عند اكتمال الإنشاء. انقر فوق رمز الإضاءة في البيانات الاصطناعية، وقم بتمكين المشغل، وانقر فوق Save لحفظ تعريف الإصدار.

Enable trigger

حدد + Release ->Create a Release ->Create لإنشاء إصدار بشكل يدوي. يمكنك مراقبة تقدم الإصدار في علامة التبويب Releases.

تحقق من نجاح عملية النشر وتشغيل التطبيق في نظام المجموعة. افتح مستعرض ويب وانتقل إلى http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. لاحظ إصدار التطبيق في هذا المثال هو "1.0.0.20170616.3".

الالتزام بالتغييرات ودفعها، وإطلاق إصدار

للتحقق من أن خط أنابيب التكامل المستمر يعمل عن طريق إيداع بعض التغييرات في التعليمات البرمجية إلى DevOps Azure.

أثناء كتابة التعليمات البرمجية، يتم تعقب التغييرات تلقائيًّا بواسطة Visual Studio. قم بإجراء تغييرات على مستودع Git المحلي الخاص بك عن طريق تحديد أيقونة التغييرات المعلقة (Pending changes icon shows a pencil and a number.) من شريط المعلومات في أسفل اليمين.

في طريقة عرض Changes في Team Explorer، أضف رسالة تصف التحديث الخاص بك والتزم بالتغييرات.

Commit all

حدد أيقونة شريط حالة التغييرات غير المنشورة (Unpublished changes) أو طريقة عرض المزامنة في مستكشف الفريق. حدد Push لتحديث التعليمات البرمجية في Azure DevOps.

Push changes

دفع التغييرات إلى Azure DevOps تلقائيًّا يؤدي لتشغيل بنية. عند اكتمال تعريف البنية بنجاح، يتم إنشاء إصدار تلقائيًّا ويبدأ ترقية التطبيق في نظام المجموعة.

للتحقق من تقدم البنية، قم بالتبديل إلى علامة التبويب Builds في Team Explorer في Visual Studio. بمجرد التحقق من تنفيذ البنية بنجاح، قم بتعريف تعريف إصدار ينشر التطبيق الخاص بك بنظام مجموعة.

تحقق من نجاح عملية النشر وتشغيل التطبيق في نظام المجموعة. افتح مستعرض ويب وانتقل إلى http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. لاحظ إصدار التطبيق في هذا المثال هو "1.0.0.20170815.3".

Screenshot of the Voting app in Service Fabric Explorer. In the Essentials tab, the app version

تحديثِ التطبيق

إجراء تغييرات التعليمات البرمجية في التطبيق. حفظ التغييرات وتنفيذها، باتباع الخطوات السابقة.

بمجرد بدء ترقية التطبيق، يمكنك مشاهدة تقدم الترقية في Service Fabric Explorer:

Screenshot of the Voting app in Service Fabric Explorer. An

تستغرق ترقية التطبيق عدة دقائق. عند اكتمال الترقية، سيتم تشغيل التطبيق الإصدار التالي. بهذا المثال "1.0.0.20170815.4".

Screenshot of the Voting app in Service Fabric Explorer. In the Essentials tab, the updated app version

الخطوات التالية

في هذا البرنامج التعليمي، نتعلم طريقة القيام بما يأتي:

  • إضافة عنصر تحكم مصدر إلى المشروع
  • إنشاء تعريف بنية
  • إنشاء تعريف إصدار
  • نشر تطبيق وترقيته تلقائيًّا

تتعلم في الجزء التالي من البرنامج التعليمي كيفية إعداد لمراقبة حاويتك.