تمرين - نشر مواصفات القالب

مكتمل

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

أثناء العملية، ستقوم بما يلي:

  • أضف مرحلة تحليل الأخطاء إلى البنية الأساسية.
  • أضف مرحلة البنية الأساسية لنشر مواصفات القالب.
  • تحقق من بدء تشغيل البنية الأساسية وانتهائها بنجاح.
  • تحقق من مواصفات القالب المنشور في Azure.

أضف مرحلة تحليل الأخطاء إلى بنيتك الأساسية

يحتوي المستودع على مسودة تعريف البنية الأساسية التي يمكنك استخدامها لتكون نقطة بداية.

  1. في Visual Studio Code، قم بتوسيع مجلد template-specs/linux-app-service في جذر المستودع.

  2. افتح الملف pipeline.yml.

    لقطة شاشة لـ

  3. في أسفل الملف، استبدل # To be added بتعريف مرحلة التحليل التالي:

    stages:
    
    - stage: Lint
      jobs:
      - job: LintCode
        displayName: Lint code
        steps:
          - script: |
              az bicep build --file $(TemplateSpecFilePath)
            name: LintBicepCode
            displayName: Run Bicep linter
    

    يحتوي مستودعك على ملف bicepconfig.jsonالذي يكوِّن أداة تحليل الأخطاء لإصدار الأخطاء بدلاً من التحذيرات. أي فشل خلال مرحلة تحليل الأخطاء سيؤدي إلى فشل البنية الأساسية.

    تلميح

    ملفات YAML حساسة للمسافات البادئة. سواء قمت بكتابة هذه التعليمة البرمجية أو لصقها، تأكد من صحة المسافة البادئة. في وقت لاحق من هذا التمرين، سترى تعريف البنية الأساسية YAML الكامل حتى تتمكن من التحقق من تطابق ملفك.

إضافة مرحلة النشر إلى بنيتك الأساسية

الآن، يمكنك إضافة مرحلة ثانية لنشر مواصفات القالب إلى Azure.

  1. أضِف التعليمة البرمجية التالية في نهاية الملف pipeline.yml:

    - stage: Publish
      jobs:
      - job: Publish
        steps:
          - task: AzureCLI@2
            name: Publish
            displayName: Publish template spec
            inputs:
              azureSubscription: $(ServiceConnectionName)
              scriptType: 'bash'
              scriptLocation: 'inlineScript'
              inlineScript: |
                az ts create \
                  --resource-group $(AzureResourceGroupName) \
                  --name $(TemplateSpecName) \
                  --version $(Build.BuildNumber) \
                  --template-file $(TemplateSpecFilePath) \
                  --location $(AzureRegion) \
                  --yes
    

    تتحقق هذه المرحلة من التعليمات البرمجية من المستودع الخاص بك وتسجل الدخول إلى Azure باستخدام اتصال الخدمة الذي قمت بإنشائه. ثم يشغل الأمر az ts create لنشر مواصفات القالب إلى Azure.

    تلميح

    لإبقاء الأمور بسيطة، تستخدم بنيتك الأساسية رقم بناء البنية الأساسية ليكون رقم إصدار مواصفات القالب. في الوحدة التالية، ستعرف نظام تعيين إصدار أكثر تعقيداً.

  2. حفظ التغييرات الخاصة بك على الملف.

التحقق من تعريف التدفق الخاص بك وتثبيته

  1. تحقق من أن ملف pipelines.yml خاصتك يبدو كالمثال التالي:

    trigger:
      batch: true
      branches:
        include:
        - main
      paths:
        include:
        - 'template-specs/linux-app-service/**'
    
    variables:
    - name: ServiceConnectionName
      value: ToyReusable
    - name: AzureResourceGroupName
      value: ToyReusable
    - name: AzureRegion
      value: westus3
    - name: TemplateSpecName
      value: linux-app-service
    - name: TemplateSpecFilePath
      value: template-specs/linux-app-service/main.bicep
    
    pool:
      vmImage: ubuntu-latest
    
    stages:
    
    - stage: Lint
      jobs:
      - job: LintCode
        displayName: Lint code
        steps:
          - script: |
              az bicep build --file $(TemplateSpecFilePath)
            name: LintBicepCode
            displayName: Run Bicep linter
    
    - stage: Publish
      jobs:
      - job: Publish
        steps:
          - task: AzureCLI@2
            name: Publish
            displayName: Publish template spec
            inputs:
              azureSubscription: $(ServiceConnectionName)
              scriptType: 'bash'
              scriptLocation: 'inlineScript'
              inlineScript: |
                az ts create \
                  --resource-group $(AzureResourceGroupName) \
                  --name $(TemplateSpecName) \
                  --version $(Build.BuildNumber) \
                  --template-file $(TemplateSpecFilePath) \
                  --location $(AzureRegion) \
                  --yes
    

    إذا لم يكن كذلك، فقم بتحديثه ليطابق هذا المثال، ثم احفظه.

  2. قم بتثبيت التغييرات ودفعها إلى مستودع Git الخاص بك عن طريق تشغيل الأوامر التالية في المحطة الطرفية لتعليمة Visual Studio البرمجية:

    git add .
    git commit -m "Add lint and publish stages to Linux App Service template spec pipeline"
    git push
    

    فور قيامك بالدفع، يبدأ Azure Pipelines تشغيل تدفق جديد.

مراقبة المسار

  1. في متصفحك، حدد Pipelines>Pipelines.

    لقطة شاشة لـ Azure Pipelines  تعرض عنصر القائمة

  2. حدد تشغيل البنية الأساسية النشط.

  3. يتم عرض تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية.

    انتظر حتى ينتهي تشغيل التدفق. عندما يحدث ذلك، تُنشر مواصفات القالب إلى Azure.

    لقطة شاشة لـ

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

مراجعة مواصفات القالب في Azure

يمكنك أيضاً عرض مواصفات القالب المنشور في مدخل Azure.

  1. في المستعرض لديك، انتقل إلى مدخل Azure.

  2. انتقل إلى مجموعة موارد ToyReusable، وحدد مواصفات قالب linux-app-service.

    لقطة شاشة لمدخل Azure تعرض مجموعة الموارد مع تمييز مواصفات القالب.

  3. افحص تفاصيل مواصفات القالب.

    لقطة شاشة لمدخل Azure تعرض تفاصيل مواصفات القالب.

    لاحظ أن أحدث إصدار ورقم الإصدار هو نفسه رقم البناء الخاص بالبنية الأساسية. تستخدم بنيتك الأساسية رقم البناء لرقم إصدار مواصفات القالب.