أتمتة عمليات نشر التطبيقات إلى Azure Spring Cloud

تنطبق هذه المقالة على: ✔️ طبقة المؤسسة الأساسية ✔️/القياسية

توضح لك هذه المقالة كيفية استخدام مهمة Azure Spring Cloud لخطوط أنابيب Azure لنشر التطبيقات.

يتيح لك التكامل المستمر وأدوات التسليم المستمر نشر التحديثات بسرعة على التطبيقات الحالية بأقل جهد ومخاطر. يساعدك Azure DevOps على تنظيم هذه المهام الرئيسية والتحكم فيها.

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


إنشاء اتصال خدمة Azure Resource Manager

أولا، قم بإنشاء اتصال خدمة Azure Resource Manager بمشروع Azure DevOps الخاص بك. للحصول على الإرشادات، راجع الاتصال إلى Microsoft Azure. تأكد من تحديد نفس الاشتراك الذي تستخدمه لمثيل خدمة Azure Spring Cloud.

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

يمكنك الآن إنشاء مشاريعك ونشرها باستخدام سلسلة من المهام. يحدد قالب Azure Pipelines التالي المتغيرات ومهمة .NET Core لإنشاء التطبيق ومهمة Azure Spring Cloud لنشر التطبيق.

variables:
  workingDirectory: './steeltoe-sample'
  planetMainEntry: 'Microsoft.Azure.SpringCloud.Sample.PlanetWeatherProvider.dll'
  solarMainEntry: 'Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.dll'
  planetAppName: 'planet-weather-provider'
  solarAppName: 'solar-system-weather'
  serviceName: '<your service name>'

steps:
# Restore, build, publish and package the zipped planet app
- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    publishWebProjects: false
    arguments: '--configuration Release'
    zipAfterPublish: false
    modifyOutputPath: false
    workingDirectory: $(workingDirectory)

# Deploy the planet app
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<Service Connection Name>'
    Action: 'Deploy'
    AzureSpringCloud: $(serviceName)
    AppName: 'testapp'
    UseStagingDeployment: false
    DeploymentName: 'default'
    Package: $(workingDirectory)/src/$(planetAppName)/publish-deploy-planet.zip
    RuntimeVersion: 'NetCore_31'
    DotNetCoreMainEntryPath: $(planetMainEntry)

# Deploy the solar app
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<Service Connection Name>'
    Action: 'Deploy'
    AzureSpringCloud: $(serviceName)
    AppName: 'testapp'
    UseStagingDeployment: false
    DeploymentName: 'default'
    Package: $(workingDirectory)/src/$(solarAppName)/publish-deploy-solar.zip
    RuntimeVersion: 'NetCore_31'
    DotNetCoreMainEntryPath: $(solarMainEntry)

إعداد مثيل Azure Spring Cloud ومشروع Azure DevOps

أولا، استخدم الخطوات التالية لإعداد مثيل Azure Spring Cloud موجود للاستخدام مع Azure DevOps.

  1. انتقل إلى مثيل Azure Spring Cloud، ثم أنشئ تطبيقا جديدا.
  2. انتقل إلى مدخل Azure DevOps، ثم أنشئ مشروعا جديدا ضمن المؤسسة التي اخترتها. إذا لم يكن لديك مؤسسة Azure DevOps، فيمكنك إنشاء مؤسسة مجانا.
  3. حدد Repos، ثم قم باستيراد الرمز التوضيحي Spring Boot إلى المستودع.

إنشاء اتصال خدمة Azure Resource Manager

بعد ذلك، قم بإنشاء اتصال خدمة Azure Resource Manager بمشروع Azure DevOps الخاص بك. للحصول على الإرشادات، راجع الاتصال إلى Microsoft Azure. تأكد من تحديد نفس الاشتراك الذي تستخدمه لمثيل خدمة Azure Spring Cloud.

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

يمكنك الآن إنشاء مشاريعك ونشرها باستخدام سلسلة من المهام. تعرض لك الأقسام التالية خيارات متنوعة لنشر تطبيقك باستخدام Azure DevOps.

النشر باستخدام خط أنابيب

للنشر باستخدام خط أنابيب، اتبع الخطوات التالية:

  1. حدد خطوط الأنابيب، ثم أنشئ خط أنابيب جديدا باستخدام قالب Maven.

  2. قم بتحرير ملف azure-pipelines.yml لتعيين الحقل mavenPomFile إلى "complete/pom.xml".

  3. حدد إظهار المساعد على الجانب الأيسر، ثم حدد قالب Azure Spring Cloud .

  4. حدد اتصال الخدمة الذي أنشأته لاشتراك Azure الخاص بك، ثم حدد مثيل Spring Cloud ومثيل التطبيق.

  5. تعطيل استخدام نشر التدريج.

  6. قم بتعيين الحزمة أو المجلد إلى إكمال / هدف / ربيع التمهيد - كامل - 0.0.1 - لقطة .jar.

  7. حدد إضافة لإضافة هذه المهمة إلى خط الأنابيب.

    يجب أن تتطابق إعدادات خط الأنابيب مع الصورة التالية.

    Screenshot of pipeline settings.

    يمكنك أيضا إنشاء مشاريعك ونشرها باستخدام قالب خط الأنابيب التالي. يحدد هذا المثال أولا مهمة Maven لإنشاء التطبيق، تليها مهمة ثانية تنشر ملف JAR باستخدام مهمة Azure Spring Cloud لخطوط أنابيب Azure.

    steps:
    - task: Maven@3
      inputs:
        mavenPomFile: 'complete/pom.xml'
    - task: AzureSpringCloud@0
      inputs:
        azureSubscription: '<your service connection name>'
        Action: 'Deploy'
        AzureSpringCloud: <your Azure Spring Cloud service>
        AppName: <app-name>
        UseStagingDeployment: false
        DeploymentName: 'default'
        Package: ./target/your-result-jar.jar
    
  8. حدد حفظ وتشغيل، ثم انتظر حتى تنتهي المهمة.

عمليات نشر أزرق أخضر

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

تحرير ملف خط الأنابيب

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

steps:
- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<your service connection name>'
    Action: 'Deploy'
    AzureSpringCloud: <your Azure Spring Cloud service>
    AppName: <app-name>
    UseStagingDeployment: true
    Package: ./target/your-result-jar.jar
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<your service connection name>'
    Action: 'Set Production'
    AzureSpringCloud: <your Azure Spring Cloud service>
    AppName: <app-name>
    UseStagingDeployment: true

استخدام قسم الإصدارات

توضح لك الخطوات التالية كيفية تمكين نشر باللون الأزرق والأخضر من قسم الإصدارات .

  1. حدد خطوط الأنابيب وقم بإنشاء خط أنابيب جديد لإنشاء Maven ونشر القطع الأثرية.

    1. حدد Azure Repos Git لموقع التعليمات البرمجية الخاص بك.
    2. حدد مستودعا حيث توجد التعليمات البرمجية.
    3. حدد قالب Maven وقم بتعديل الملف لتعيين الحقل mavenPomFile إلى complete/pom.xml.
    4. حدد إظهار المساعد على الجانب الأيسر وحدد قالب نشر إنشاء القطع الأثرية .
    5. قم بتعيين المسار للنشر إلى إكمال/هدف/نابض-تمهيد-اكتمال-0.0.1-SNAPSHOT.jar.
    6. حدد ⁧⁩⁩Save and run⁦⁩.
  2. حدد الإصدارات، ثم إنشاء إصدار.

  3. أضف خط أنابيب جديدا، وحدد إفراغ الوظيفة لإنشاء وظيفة.

  4. ضمن المراحل ، حدد مهمة السطر 1، 0 مهمة

    Screenshot of where to select to add a task to a job.

    1. حدد + لإضافة مهمة إلى المهمة.
    2. ابحث عن قالب Azure Spring Cloud ، ثم حدد إضافة لإضافة المهمة إلى المهمة.
    3. حدد Azure Spring Cloud Deploy: لتحرير المهمة.
    4. املأ هذه المهمة بمعلومات تطبيقك، ثم قم بتعطيل استخدام النشر المرحلي.
    5. قم بتمكين إنشاء نشر تدريجي جديد إذا لم يكن موجودا، ثم أدخل اسما في النشر.
    6. حدد حفظ لحفظ هذه المهمة.
    7. حدد "OK".
  5. حدد خط الأنابيب، ثم حدد إضافة قطعة أثرية.

    1. ضمن المصدر (إنشاء خط أنابيب) حدد خط الأنابيب الذي تم إنشاؤه مسبقا.
    2. حدد إضافة، ثم حفظ.
  6. حدد 1 وظيفة، 1 مهمة ضمن المراحل.

  7. انتقل إلى مهمة Azure Spring Cloud Deploy في المرحلة 1، ثم حدد علامة الحذف بجوار الحزمة أو المجلد.

  8. حدد الربيع-التمهيد-اكتمال-0.0.1-SNAPSHOT .jar في مربع الحوار، ثم حدد موافق.

    Screenshot of the 'Select a file or folder' dialog box.

  9. + حدد لإضافة مهمة Azure Spring Cloud أخرى إلى المهمة.

  10. قم بتغيير الإجراء إلى تعيين نشر الإنتاج.

  11. حدد حفظ، ثم إنشاء إصدار لبدء النشر تلقائيا.

للتحقق من حالة الإصدار الحالي لتطبيقك، حدد عرض الإصدار. بعد الانتهاء من هذه المهمة، قم بزيارة مدخل Azure للتحقق من حالة التطبيق.

النشر من المصدر

للنشر مباشرة إلى Azure بدون خطوة إنشاء منفصلة، استخدم قالب خط الأنابيب التالي.

- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<your service connection name>'
    Action: 'Deploy'
    AzureSpringCloud: <your Azure Spring Cloud service>
    AppName: <app-name>
    UseStagingDeployment: false
    DeploymentName: 'default'
    Package: $(Build.SourcesDirectory)

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