تمرين - نشر نموذج تطبيق Spring Boot

مكتمل

في هذا التمرين، ستستخدم سير عمل تلقائيا لإنشاء تطبيق عينة Spring Boot ونشره.

إعداد إجراء GitHub لنشر نموذج التطبيق

الآن بعد أن قمت بتوفير موارد Azure الخاصة بك، يمكنك نشر نموذج تطبيق Spring Boot الخاص بك.

لإنشاء سير عمل Maven GitHub، ستستخدم أداة معالج التكامل المستمر والتسليم المستمر المضمنة (CI/CD) المتوفرة في مركز النشر في مدخل Azure App Service.

لقطة شاشة لمركز توزيع خدمة تطبيقات Azure.

يقوم مركز توزيع خدمة تطبيقات Azure تلقائيا بإنشاء ملف سير عمل GitHub Actions يستند إلى مكدس التطبيق الخاص بك. ثم يقوم مركز النشر بتثبيت الملف إلى مستودع GitHub الخاص بك في الدليل الصحيح. يربط مركز النشر أيضا إجراء GitHub بملف تعريف نشر Azure App Service.

  1. في مدخل Microsoft Azure، انتقل إلى تطبيق ويب Azure App Service.

  2. في الجزء الأيمن، قم بتوسيع نشر وحدد Deployment Center.

  3. في القائمة المنسدلة Source، ضمن Continuous Deployment (CI/CD)، حدد GitHub.

  4. حدد GitHub Actions. (يجب أن يكون هذا هو الافتراضي، ولكن إذا لم يكن كذلك، فحدد تغيير الموفر لتحميل خيارات الموفر.)

  5. ضمن الإعدادات، في القوائم المنسدلة، قم بما يلي:

    a. حدد مستودع GitHub الخاص بك.
    b. بالنسبة إلى الفرع، حدد الرئيسي.
    c. بالنسبة إلى مكدس التطبيقات، حدد JAVA 8.

  6. في الصفحة الأخيرة، راجع التحديدات الخاصة بك ومعاينة ملف سير العمل الذي سيتم الالتزام به في المستودع.

  7. حدد Save لتثبيت ملف سير العمل بالمستودع، وابدأ على الفور في إنشاء تطبيقك ونشره.

    ملاحظه

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

تأكيد بناء إجراءات GitHub

  1. في مستودع GitHub الخاص بك، حدد علامة التبويب Actions ثم، على الجانب الأيسر، ضمن جميع مهام سير العمل، حدد "إنشاء تطبيق JAR ونشره إلى Azure Web App".

  2. بعد ذلك، في الجدول الموجود على الجانب الأيمن، ضمن تشغيل سير العمل، حدد تشغيل سير العمل إضافة تكوين سير عمل توزيع App Service أو تحديثه.

  3. انتظر حتى يتم الانتهاء من تشغيل سير العمل، ثم ضمن مهمة Deploy في تشغيل سير العمل، انسخ عنوان URL في مهمة Deploy التي تعرض عنوان URL لتطبيق ويب Azure.

  4. وأخيرا، افتح عنوان URL في مستعرض وتحقق من نشر تطبيق Java الخاص بك، وتوصيلا بقاعدة بيانات MySQL، وإرجاع البيانات.

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

مبروك! لديك الآن اثنين من مهام سير عمل GitHub Actions: إجراء توفير وإجراء بناء ونشر.

في كل مرة تقوم فيها بإدخال أمر git push لتثبيت التعليمات البرمجية الخاصة بك، يتم تشغيل إجراء الإنشاء والنشر ويتم نشر التطبيق الخاص بك.

مهم

لن تؤدي إعادة تشغيل توفير إجراء GitHub إلى إعادة إنشاء مواردك إذا كانت موجودة بالفعل. ستحتاج إلى حذف مجموعة الموارد أو الموارد يدويا ثم إعادة تشغيل إجراء GitHub.

ستؤدي إعادة تشغيل إجراء GitHub الخاص بك إلى استبدال التطبيق الخاص بك.

إذا قمت بإعادة إنشاء مثيل App Service، فستحتاج أيضا إلى التغيير إلى ملف تعريف النشر الجديد. تحتاج إلى تغيير السطر التالي فقط:

publish-profile: ${{ secrets.AzureAppService_PublishProfile_c1ee8d191003493b9c9e13a9b78ad2c3 }}

إعداد Azure Pipeline لنشر نموذج التطبيق

كما كان من قبل، ستحتاج إلى إنشاء Azure Pipeline لإنشاء تطبيقك ونشره.

في Azure DevOps، انتقل إلى مشروعك، وحدد "Pipelines" وحدد "New Pipeline" (الزاوية العلوية اليسرى).

سيتم منحك الآن أربع علامات تبويب لإعداد البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك:

  1. في علامة التبويب "Connect" ، حدد "GitHub" (ملف YAML).
  2. في علامة التبويب "حدد" ، حدد مستودع GitHub الذي يحتوي على القالب الخاص بك.
  3. في علامة التبويب "Configure" ، حدد لاستخدام "ملف YAML لخطوط أنابيب Azure الموجودة".
  4. في المسار، هذه المرة، حدد "/azuredevops/build_deploy.yml"
  5. حدد Continue للانتقال إلى علامة التبويب "*Review" ومراجعة البنية الأساسية لبرنامج ربط العمليات التجارية قبل تشغيله.

في مراجعة البنية الأساسية لبرنامج ربط العمليات التجارية YAML الشاشة، افحص ملف Yaml الذي ستستخدمه لإنشاء البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك:

name: Build and Deploy

trigger:
- main

stages:

# Build your Spring Boot App using Maven
- stage: Build
  displayName: Build stage
  jobs:
  - job: MavenPackageAndPublishArtifacts
    displayName: Maven Package and Publish Artifacts
    pool:
      vmImage: 'ubuntu-latest'

    steps:
    - task: Maven@3
      displayName: 'Maven Package'
      inputs:
        mavenPomFile: 'pom.xml'

    - task: CopyFiles@2
      displayName: 'Copy Files to artifact staging directory'
      inputs:
        SourceFolder: '$(System.DefaultWorkingDirectory)'
        Contents: '**/target/*.?(war|jar)'
        TargetFolder: $(Build.ArtifactStagingDirectory)

    - upload: $(Build.ArtifactStagingDirectory)
      artifact: drop

# Deploy to Azure using the AzureWebApp task using your Service Connection
- stage: Deploy
  displayName: Deploy stage
  dependsOn: Build
  condition: succeeded()
  jobs:
  - deployment: DeployLinuxWebApp
    displayName: Deploy Linux Web App
    environment: 'production'
    pool:
      vmImage: 'ubuntu-latest'
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureWebApp@1
            displayName: 'Azure Web App Deploy'
            inputs:
              azureSubscription: $(serviceConnection)
              appType: webAppLinux
              appName: '$(webAppName)'
              package: '$(Pipeline.Workspace)/drop/**/target/*.?(war|jar)'

لنلق نظرة على بعض الحقول التي نستخدمها في تكوين "Build" :

  • azureSubscription: اشتراك Azure الخاص بك
  • appType: نوع تطبيق الويب الخاص بك
  • appName: اسم خدمة التطبيق الحالية
  • الحزمة: مسار الملف إلى الحزمة أو مجلد يحتوي على محتويات خدمة التطبيق

إضافة متغيرات البنية

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

  1. حدد المتغيرات في أعلى اليمين.
  2. أضف متغيرا باسم serviceConnection بالقيمة كاسم اتصال الخدمة.
  3. حدد موافق في الزاوية السفلية اليسرى لحفظ المتغير.
  4. أضف متغيرا ثانيا باسم webAppName باسم App Service (نفس القيمة المحددة في متغير Terraform "application_name").
  5. حدد موافق لحفظ المتغير.
  6. حدد Save في الزاوية السفلية اليسرى لحفظ كلا المتغيرين.

لقطة شاشة تعرض المتغيرات الجديدة.

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

  1. حدد && لحفظ البنية الأساسية لبرنامج ربط العمليات التجارية وتشغيلها
  2. كما فعلت لمسار Provision، تتبع عملية البناء من خلال كل من المراحل والخطوات.
  3. تحقق من نشر تطبيق Java الخاص بك، وتوصيلا بقاعدة بيانات MySQL، وإرجاع البيانات.

لقطة شاشة تعرض تشغيل Azure Pipeline الجديد.

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

مبروك! لديك الآن اثنين من مهام سير عمل Azure Pipeline: مسار توفير وبنية أساسية لبرنامج ربط العمليات التجارية للبناء والتوزيع.

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

مهم

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

ستؤدي إعادة تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك إلى استبدال التطبيق الخاص بك.

الوحدة التالية هي التحقق من المعرفة لمعرفة ما تعلمته في هذه الوحدة.