يجب كتابة البرمجيات واختبارها ونشرها في بيئة الإنتاج. للقيام بذلك بطريقة تلقائية ، يقوم المطورون وفرق DevOps ببناء أنابيب CI/CD أو أنابيب بناء/إصدار تلقائية تقوم بتحقيق العديد من هذه الأنشطة.
A pipeline allows developers, DevOps teams and others to produce and deploy reliable code. In the Microsoft realm, the way to build a pipeline is with Azure DevOps with a feature called Azure Pipelines.
تسمح لك أنابيب Azure Pipelines بتشغيل البناء تلقائيًا وإجراء الاختبارات ونشر الكود (الإصدار) على مختلف بيئات التطوير والإنتاج. ولكن ماذا لو لم تسمع أبدًا عن Azure DevOps أو أنابيب العمل من قبل أو لم تقم ببناء واحدة باستخدام Azure DevOps؟ إذا كان الأمر كذلك ، فإن هذا البرنامج التعليمي لأنابيب Azure هو لك.
شكر كبير لـ Peter De Tender، مدرب تقني في Microsoft Azure، على مساعدته في هذه المقالة.
نظرة عامة على المشروع
هذه مقالة مشروع حيث نغطي كيفية بناء مشروع أو تنفيذ حل. ستكون كل قسم خطوات تكاملية تعتمد على السابقة.
في هذا المشروع ، ستتعلم من الصفر كيفية إنشاء أول أنبوبة Azure DevOps لك. ستتعلم مفاهيم مثل استدعاء البناء من إصدار التحكم في النسخ Git ، وتنفيذ الاختبارات تلقائيًا ، وأخيرًا إصدار الحزم إلى البيئات. بحلول نهاية هذا المشروع ، ستكون لديك تطبيق تجارة إلكترونية عينة متميز مستضاف كتطبيق ويب Azure.
ينبغي أن يستغرق هذا المشروع 30 دقيقة لإكماله.
يرجى ملاحظة أنه إذا قمت بمتابعة هذا المشروع وقمت بإزالة الموارد التي تم إنشاؤها على الفور، فلن يتم محاسبتك في حساب Azure الخاص بك. لا تنسَ إزالتها!
الجمهور المستهدف
سيغطي هذا المشروع أساسيات إعداد أول خط أنابيب Azure الخاص بك في واجهة مستخدم Azure DevOps على الويب. ستتعلم الكثير من هذا المشروع إذا كنت جديدًا تمامًا على خطوط الأنابيب Azure ولكن ليس كثيرًا إذا كنت قد بنيت بالفعل خطوط الأنابيب الخاصة بك من قبل أو إذا كنت خبيرًا في خطوط الأنابيب Azure.
متطلبات البيئة
إذا كنت تخطط لمتابعة هذا المشروع، خطوة بخطوة، تأكد، كحد أدنى، من أن لديك ما يلي:
- حساب Azure
- قد قمت بتسجيل الدخول بالفعل إلى بوابة Azure بصلاحيات المسؤول العام أو ما شابه ذلك.
- A GitHub account
- مستودع Github فارغ تم إنشاؤه
- تم نشر تطبيق ويب Azure فارغ باستخدام dotnetcore 2.2 وLinux للمنصة
إنشاء منظمة Azure DevOps
بما أننا نبدأ من البداية التامة، ستقوم أولاً بإنشاء الكائن “الأساسي” الذي تتضمنه جميع ميزات وخدمات Azure DevOps والذي يُسمى المنظمة. المنظمة هي المكان الذي يتم تخزين جميع المشاريع فيه، والتي ستتعلم كيفية بنائها في القسم التالي.
- من لوحة التحكم Azure، تصفح إلى جميع الخدمات، ابحث عن DevOps والحدد Azure DevOps. يمكنك رؤية ما يمكنك أن تتوقعه أدناه. سيفتح هذا شريط Azure DevOps كما هو موضح أدناه.

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

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

في هذه النقطة، تم إنشاء منظمتك في Azure DevOps!
إنشاء مشروع Azure DevOps
الخطوة التالية هي إنشاء مشروع. المشروع هو الحاوية التي ستنشئ فيها سلسلة العمل (بايبلاين) والمؤن وأي معلومات أخرى تتعلق بخدمة معينة أو قطعة برمجية.
تتيح لك Azure DevOps إمكانية إنشاء مشروع خلال نفس سير العمل الذي تمت فيه إنشاء المؤسسة كما تم شرحه أعلاه. إذا قمت بمتابعة الشرح، يجب أن تظهر الآن صفحة إنشاء مشروع كما هو موضح أدناه.
- في صفحة إنشاء المشروع، قم بتوفير اسم لمشروعك في حقل اسم المشروع. لهذا المشروع، ستستخدم مشروع Azure DevOps يسمى devopsdemo.
- قم بتأكيد إنشاء المشروع عن طريق النقر على زر + إنشاء مشروع.
- في الوقت الحالي، اترك الرؤية على خاص. هذا يضمن عدم تعرض مشروعك للإنترنت. يتيح المشروع العام لغير أعضاء المشروع والمستخدمين غير المسجلين وصولًا للقراءة فقط إلى مؤن المشروع.

في هذه النقطة، تم إنشاء مساحة العمل Azure DevOps الخاصة بك (المشروع + المؤسسة). إذا كنت تتابع، يجب أن يكون لديك الآن مؤسسة Azure DevOps تسمى pdtitws123 ومشروع داخل تلك المؤسسة يسمى devopsdemo.

بناء سلسلة عمل Azure DevOps للبناء
الآن بعد أن قمت بإعداد مؤسسة ومشروع Azure DevOps، يمكنك الآن إنشاء سلسلة عمل (بايبلاين) للبناء داخلها. السلسلة هي المكان الذي يحدث فيه السحر. إنها المكان الذي ستنشئ فيه عمليات البناء لأداء مهام مختلفة مثل تجميع الشفرة وجلب التبعيات وغيرها.
- من لوحة التحكم، حدد الخطوط الأنابيب ثم على البناء.

2. سترى رسالة تخبرك أنه لم يتم العثور على خطوط أنابيب بناء بعد. انقر على أنبوبة جديدة لبدء إنشاء خط الأنابيب للبناء.

3. ستُطلب بعد ذلك مكان تخزين الكود الخاص بك. في هذا المشروع، يتم تخزين الكود في مستودع GitHub. حدد GitHub. هذا هو المكان الذي يتم فيه تخزين الكود وتشغيل المشغلات لبدء البناء.

4. بمجرد النقر على GitHub، سيُطلب منك توفير بيانات اعتماد حساب GitHub الخاص بك كما هو موضح أدناه. قبل أن تبدأ في هذه الخطوة، تذكر أن تكون قد أنشأت مستودع GitHub فارغًا كما هو محدد في قسم المتطلبات المسبقة في هذه المقالة!

5. بعد ذلك، قم بتأكيد الخطوة حيث يُطلب منك تخويل أنابيب Azure تقاطع GitHub. هذا يضمن أن Azure DevOps لديها الإذن للوصول إلى مستودعات GitHub الخاصة بك.

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

2. اسمح للمشروع بقراءة وكتابة وفحص الكود المصدر من المستودع الذي اخترته سابقًا. ثم قم بتأكيد هذه العملية عن طريق النقر على الموافقة والتثبيت.

3. بالنقر على التأكيد، سترى خطأ مولدًا كما هو موضح أدناه. سيحدث هذا الخطأ لأن المستودع GitHub المحدد فارغ.

في هذه النقطة، سيتم ربط مستودع GitHub الخاص بك بخط الأنابيب للبناء الخاص بـ Azure DevOps الخاص بك.
ليس عليك إنشاء خط أنابيب جديد تمامًا في كل مرة ترغب في ربط مستودع GitHub بخط أنابيب بناء Azure DevOps.
ملء رمز مستودع GitHub العيني
لن يعمل خط أنابيب بناء Azure DevOps دون بعض الشفرة في مستودع GitHub. الشفرة لا تهم في هذه المرحلة. للحصول على بعض الشفرة في المستودع ، سنستخدم مستودعًا موجودًا لنستنسخ بعض الشفرة منه. في هذا المستودع ، لدي جميع شفرة المصدر المتاحة لنشر تطبيق عينة للتجارة الإلكترونية في Azure WebApps.
سيحتوي رمز العينة لهذا المستودع على تطبيق للتجارة الإلكترونية عينة يسمى SimplCommerce. هذا التطبيق هو تطبيق dotnetcore مفتوح المصدر وأكثر واقعية من مشروع “hello world” التقليدي.
- انتقل إلى مستودع GitHub العيني هذا وانقر على استيراد الشفرة كما هو موضح أدناه.

2. بالنسبة لـ عنوان URL لاستنساخ المستودع القديم استخدم http://github.com/007FFFLearning/SimplDev وانقر على بدء الاستيراد.

عند اكتمال خطوة استيراد المستودع بنجاح ، قم بتحديث نافذة خط أنابيب Azure DevOps ، والتي يجب أن تسمح لك بالمتابعة الآن.
تفقد واستعرض خط الأنابيب للبناء في YAML
في هذه المرحلة، ستكون في مرحلة المراجعة من عملية إنشاء خط الأنابيب. سيتم الآن تقديم تمثيل لخط الأنابيب الذي تم بناؤه في لغة YAML. يتم بناء هذا الملف تلقائيا بناءً على الكشف عن لغة الكود المصدر، والتي هي dotnetcore في هذا المشروع.
أحد الفوائد الحقيقية لـ Azure DevOps هو خط الأنابيب في لغة YAML. مع العديد من أدوات ديف أوبس الأخرى، يجب عليك بناء ملف خط الأنابيب يدويا.

تشغيل خط أنابيب البناء في Azure يدويًا
في خط أنابيب التكامل المستمر (CI)، يتم عادة تشغيل البناء بواسطة التأكيد على التحكم في المصدر. ولكن، يمكنك أيضًا تشغيل خط الأنابيب يدويًا. دعونا نبدأ خط أنابيب البناء يدويًا لنرى ما يحدث.
إذا كنت قد تابعت حتى الآن، في هذه المرحلة، يجب أن تكون قادرًا على النقر على تشغيل لبدء خط الأنابيب. سيبدأ هذا عملية بناء الأنبوب كما يمكنك رؤيته من اللقطة الشاشة أدناه.

بعد بضع ثوانٍ، يمكنك أن ترى أن العملية ستكون قيد التشغيل لنظام التشغيل macOS كما هو موضح أدناه. سيرجع خط الأنابيب معلومات في الوقت الفعلي كلما تم تشغيل كل وظيفة ومهمة في الأنبوب.

سيكرر خط الأنابيب البناء نفس العملية لأنظمة التشغيل الأخرى (في هذا المثال) كما هو موضح أدناه. ستختلف الخطوات المتخذة بشكل كبير اعتمادًا على كيفية بناء ملف YAML.

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

لقد قمت الآن بإنشاء خط أنابيب بناء Azure DevOps!
بناء خط أنابيب إصدار Azure DevOps
تم إنشاء خط الأنابيب الذي يعتبر تقدمًا رائعًا. إذا توقفت في هذه النقطة، ستكون على الطريق الصحيح للحصول على خط أنابيب آلي كامل. ولكننا لم ننتهي! الهدف النهائي من البرمجيات هو أن يتم نشرها حتى يتمكن العملاء من استخدامها. حان الوقت لأتمم أيضًا الإصدار باستخدام خط أنابيب الإصدار!
A release pipeline takes a build artifact, a result of the build process and deploys that to one or more environments. In this Project, you’re going to use a release pipeline to publish code in the GitHub repo to an Azure Web App.
- انتقل من Azure DevOps إلى Pipelines ثم Releases.

2. بعد ذلك، حدد New ثم New Release Pipeline. يطلق ذلك ساحر خط أنابيب الإصدار الجديد.

3. من قائمة القوالب على اليمين، حدد Azure App Service Deployment. سترى العديد من أنواع القوالب المختلفة المتاحة لتوفير الوقت في إنشاء خطوط أنابيب الإصدار المستقبلية.

4. قدم وصفًا لـ اسم المرحلة. ستحتوي المرحلة على مهام الإصدار. لهذا المشروع، استخدم الاسم Deploy_to_webapp.

يجب أن يظهر خط الإصدار الآن كما في الصورة أدناه.

5. في حقل المراحل، حدد 1 وظيفة، 1 مهمة. هذا هو المكان الذي ستقدم فيه في نهاية المطاف إعدادات بيئة Azure Web App التي ستستخدمها للنشر الفعلي.
6. جزء من قالب نشر خدمة تطبيق Azure App يأتي بعدة معلمات يجب عليك تحديدها في هذه الشاشة.
- اسم المرحلة – Deploy-to-webapps2 في هذا المثال.
- اشتراك Azure – حدد اشتراكك وقم بتأكيده بـ تخويل (يحتاج إلى بيانات اعتماد)
- نوع التطبيق – تطبيق ويب على Linux
- اسم خدمة التطبيق – تطبيق الويب الذي قمت بإنشائه مسبقًا

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

إضافة منتجات إلى خط الإصدار في Azure DevOps
Dentro de un pipeline de lanzamiento, hay muchos elementos diferentes que deben implementarse. Estos elementos se llaman artifacts. Los artifacts, en pocas palabras, son componentes implementables de su aplicación. Azure Pipelines puede implementar artifacts que son producidos por una amplia gama de
En esta sección, cubriremos cómo agregar
- Mientras esté en la pantalla de Pipeline, haga clic en Agregar un Artifact.
- El Tipo de fuente ya está configurado en Construir, que es lo que desea, ya que implementará la salida del pipeline de construcción creado anteriormente. Elija el pipeline de construcción creado anteriormente en el Origen (pipeline de construcción) menú desplegable.
- عند الانتهاء، انقر على إضافة لحفظ التكوين.

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

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

3. بعد بضع ثوانٍ، ستتلقى إشعارًا (الشريط الأخضر) بأن الإصدار قد تم إنشاؤه كما هو موضح أدناه. الآن انقر على الإصدار-1 الذي سيوجهك إلى تفاصيل عملية الإصدار.

لقد قمت الآن بإنشاء إصدار وهو جاهز للنشر!
نشر الإصدار يدويًا
A release is a set of instructions to perform on how to deploy a build. You’ve done all of that. Now it’s time to actually run those instructions and deploy code to an environment.
أثناء وجودك على إصدار الإصدار-1 الذي أنشأته سابقًا:
- حدد مرحلة Deploy_to_webapp وقم بتأكيد النشر. عند القيام بذلك ، ستتغير الحالة إلى قيد التقدم كما هو موضح أدناه. في هذه النقطة ، يقوم الإصدار بجلب الشفرة المصدرية من خط الإنتاج التي تم تنفيذها سابقًا ودفعها إلى مثيل Azure WebApp.
سيؤدي هذا الخطوة إلى تشغيل وظيفة في الخلفية على وكيل يقوم بنسخ الشفرة المصدرية وأداء دورة الإصدار الفعلية.

2. انقر على المرحلة أثناء تقدمها. سترى أي معلومات تسجيل تظهر في منطقة إخراج الوحدة المركزية.

عند الانتهاء ، يجب أن تظهر المرحلة ناجحة كما هو موضح أدناه.

إذا تم كل شيء على ما يرام ، يجب أن يكون الإصدار قد انتهى ويجب أن يكون لديك الآن تطبيق ويب منشور على تطبيق ويب Azure!
فحص Azure WebApp المنشورة
الآن بعد اكتمال العملية بأكملها ، تأكد من فحص ثمار جهودك.
- سجل الدخول إلى برنامج Azure Portal ، انتقل إلى Azure WebApp الذي تم تحديده في خط الإصدار كهدف وانسخ عنوان URL كما هو موضح أدناه.

2. الآن قم بلصق ذلك الرابط في متصفح عن طريق توفير رابط تطبيق الويب Azure. يجب على متصفحك الآن تحميل تطبيق العينة للتجارة الإلكترونية، مماثل لصفحة البداية أدناه.

لقد فعلت كل شيء الآن! لديك الآن تطبيق ويب Azure مستضاف من مستودع GitHub قابل للتطبيق بالكامل!
التنظيف
إذا كنت تتبعت معنا طوال هذا المشروع، فلديك الآن منظمة Azure DevOps جديدة، ومشروع، وخط أنابيب البناء، وخط أنابيب الإصدار والإصدار. إذا انتهيت من اختبار الأشياء، تأكد من إزالة المنظمة الأصلية التي تم إنشاؤها حتى لا تخاطر بتحميلك بأي موارد Azure.
للقيام بذلك:
- ارجع إلى مساحة عمل Azure DevOps الرئيسية الخاصة بك.
- انقر على إعدادات المنظمة في الزاوية السفلية اليمنى.
- على شاشة النظرة العامة، انقر فوق الزر حذف في أسفل الصفحة تحت حذف المنظمة.
- اكتب اسم المنظمة ثم انقر فوق حذف. يجب أن يؤدي هذا إلى إزالة كل العمل الذي قمت به للتو.
ما تستفيد منه
إذا كنت تتبعت التعليمات في هذا المشروع، فقد أنشأت خط أنابيب CI/CD بأكمله من الصفر في Azure DevOps. يجب أن تكون الآن لديك فكرة جيدة عن ما ينطوي هذا العملية.
يمكن لأنابيب Azure Pipelines أن تذهب أبعد مما فعلت في هذا المشروع ولكن يجب أن تمتلك الآن بعض المعرفة الأساسية بالعملية بأكملها.