نشر العامل إلى Azure

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

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

لتحديث نقطة نهاية الرسائل، راجع الموارد التالية. توضح كيف يمكنك تحديث نقطة نهاية الرسائل إذا نشرت عاملك على مزودي خدمة سحابية آخرين مثل Amazon Web Services أو Google Cloud Platform:

المتطلبات

قبل أن تبدأ، تأكد من أن لديك العناصر التالية:

الحسابات والأذونات المطلوبة

الأَدَوَات المطلوبة

نشر في Azure

قم بنشر كود تطبيق عاملك على Azure باستخدام أدوات Azure القياسية مثل Azure CLI أو مدخل Azure، أو GitHub Actions.

نشر تطبيق عامل

استخدم أمر Azure CLI az webapp deploy من أجل نشر تطبيقك:

# Build your project first (example for .NET)
dotnet publish -c Release -o ./publish

# Deploy to Azure Web App
az webapp deploy --name <your-web-app> --resource-group <your-resource-group> --src-path ./publish

بالنسبة إلى GitHub Actions، استخدم إجراء نشر Azure Web Apps.

تحذير

إدارة البيانات السرية: يتم تخزين متغيرات البيئة، بما في ذلك مفاتيح API والبيانات السرية، كإعدادات تطبيق Azure بدلا من التخزين في الكود أو ملفات التكوين. بالنسبة لبيئات الإنتاج، استخدم Azure Key Vault للبيانات السرية الحساسة. تعرف على مزيد من المعلومات حول التخزين الآمن لبيانات التطبيق السرية في التطوير في ASP.NET Core وموفر تكوين Azure Key Vault. لا تقم أبدا بتثبيت .env الملفات ذات المعلومات الحساسة للتحكم بالمصادر.

التحقق مِنْ النشر

بعد انتهاء النشر، استخدم هذه القائمة والتعليمات في الأقسام التالية للتحقق من النشر.

اكتمل أمر النشر بنجاح وبدون أخطاء
تطبيق الويب قيد التشغيل
تشير سجلات التطبيق إلى نجاح بدء التشغيل
تكوين متغيرات البيئة
تستجيب نقطة نهاية المراسلة

تحقق من اكتمال أمر النشر بدون أخطاء

بعد انتهاء النشر، تحقق من نجاح عملية النشر في سجلات النشر:

  1. انتقل إلى تطبيق الويب الخاص بك في مدخل Azure.
  2. انتقل إلى الإعدادات>تكوين للتحقق من إعدادات التطبيق.
  3. التحقق من سجلات التوزيع في مركز النشر.

للاطلاع على محفوظات النشر التفصيلية:

  1. انتقل إلى مدخل Azure > تطبيق الويب الخاص بك
  2. النشر>مركز النشر
  3. عرض سجلات النشر الأخير

إذا فشل البناء:

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

إذا تعطل التطبيق بعد النشر:

تحقق من أن تطبيق الويب يعمل

استخدم الأمر az webapp show من أجل التحقق من أن تطبيق الويب يعمل.

az webapp show --name <your-web-app> --resource-group <your-resource-group> --query state

الناتج المتوقع لهذا الأمر هو Running.

تحقق من أن سجلات التطبيق تظهر بدء التشغيل بنجاح

لعرض سجلات تطبيقات الويب في مدخل Azure:

  1. ابحث عن تطبيق الويب بالاسم في مدخل Azure.
  2. انتقل إلى نظرة عامة>السجلات>تدفق السجلات.

بدلاً من ذلك، يمكنك استخدام أمر PowerShell az webapp log tail من أجل قراءة سجلات تطبيق الويب:

az webapp log tail --name <your-web-app> --resource-group <your-resource-group>

إذا ظهرت رسائل تعطل أو أخطاء في السجلات، فراجع تعطل التطبيقات عند بدء التشغيل.

تحقق من تكوين متغيرات البيئة

في مدخل Azure:

  1. انتقل إلى تطبيق الويب الخاص بك.
  2. انتقل إلى الإعدادات>متغيرات البيئة.
  3. تأكد من وجود إعداداتك.

إذا لم تكن متغيرات البيئة محددة:

تحقق من استجابة نقطة نهاية المراسلة

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

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

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

عاملك الآن موجود في السحابة وجاهز للرد على الطلبات القائمة على العاملين. بينما يتعامل عاملك مع طلبات العالم الحقيقي، ضع في اعتبارك الخطوات التالية للكود الخاص بك:

  • مراقبة الأداء: اِسْتِخْدَام ميزات المراقبة لتعقب سلوك العامل وتحسين الردود.
  • إضافة المزيد من الأَدَوَات: استكشاف كتالوج الأَدَوَات لتوسيع قدرات عاملك.
  • التكرار والتحسين: تحديث التعليمات البرمجية للعامل وإعادة النشر وإعادة عملية النشر (تذكر زيادة رقم الإصدار!).
  • توسيع نطاق مؤسستك: مشاركة قصص نجاح عاملك لدفع عملية الاعتماد.

استكشاف الأخطاء وإصلاحها

يصف هذا القسم المشاكل الشائعة عند نشر العوامل إلى Azure.

تلميح

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

فشل أمر النشر

العرض: فشل النشر على Azure.

الأسباب والحلول الشائعة:

  • أخطاء الإنشاء

    أعد بناء المشروع محليًا لرؤية أخطاء التجميع التفصيلية:

    # .NET
    dotnet clean
    dotnet build --verbosity detailed
    
    # Python
    uv build
    
    # Node.js
    npm install
    npm run build
    
  • انتهت صلاحية مصادقة Azure

    تسجيل الدخول مرة أخرى إلى Azure:

    az login
    az account show  # Verify correct subscription
    
  • لم يتم إنشاء تطبيق الويب

    اعرض تطبيقات الويب للتأكد من وجود التطبيق المستهدف:

    # List Web Apps in resource group
    az webapp list --resource-group <your-resource-group> --output table
    
  • تحقق من سجلات النشر

    استخدم الأمر az webapp log tail من أجل عرض سجلات النشر التفصيلية:

    az webapp log tail --name <your-app-name> --resource-group <your-resource-group>
    
  • التحقق:

    # Web App should be running
    az webapp show --name <your-app-name> --resource-group <your-resource-group> --query state
    # Expected: "Running"
    

تم إيقاف تطبيق الويب

العرض: النشر ناجح لكن تطبيق الويب لا يعمل.

الحل: استخدم az webapp start وaz webapp show لتشغيل تطبيق الويب والتحقق من تشغيله.

# Start the Web App
az webapp start --name <your-app> --resource-group <your-resource-group>

# Verify it's running
az webapp show --name <your-app> --resource-group <your-resource-group> --query state

تعطل التطبيق عند بدء التشغيل

العرض: يبدأ تطبيق الويب لكنه يتعطل فوراً؛ تظهر السجلات أخطاء.

الأسباب الشائعة:

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

الحل: استخدم الأوامر az webapp log tail، وaz webapp config appsettings list، وaz webapp config appsettings set لعرض السجلات، والتحقق من متغيرات البيئة، وتعيين المتغيرات المفقودة.

# View application logs
az webapp log tail --name <your-app> --resource-group <your-resource-group>

# Check environment variables
az webapp config appsettings list --name <your-app> --resource-group <your-resource-group>

# Manually set a missing variable
az webapp config appsettings set --name <your-app> --resource-group <your-resource-group> --settings KEY=VALUE

ظهور خطأ 404 على نقطة نهاية المراسلة

العَرَض: تطبيق ويب قيد التشغيل لكن نقطة النهاية /api/messages تعود بالخطأ 404.

الحل:

  1. تحقق من تكوين المسار في رمز العامل الخاص بك.
  2. تحقق من أن معالج نقطة النهاية مسجل بشكل صحيح.
  3. تأكد من تحديد نقطة الدخول الصحيحة خلال عملية النشر.

اختبر نقطة النهاية بإرسال طلب GET إلى عنوان URL. استخدم الأمر az webapp config show من أجل التحقق من تكوين تطبيق الويب.

curl https://<your-app-name>.azurewebsites.net/api/messages
az webapp config show --name <your-app> --resource-group <your-resource-group>

متغيرات البيئة غير محددة أو غير صحيحة

عَرَض: النشر ينجح لكن العامل لا يعمل؛ أخطاء التكوين المفقودة في السجلات.

الحل: تحقق من متغيرات البيئة وحدثها. استخدم أوامر az webapp config appsettings list، وaz webapp config appsettings set للتحقق من متغيرات البيئة، وضبط المتغيرات المفقودة. ثم أعد نشر التطبيق.

# List all app settings
az webapp config appsettings list --name <your-app> --resource-group <your-resource-group>

# Set a specific variable
az webapp config appsettings set --name <your-app> --resource-group <your-resource-group> --settings API_KEY=your-value

ينجح البناء محليًا ولكنه يفشل في Azure

العرض: الكود يبني بشكل جيد على جهازك لكنه يفشل في أثناء النشر على Azure.

الحلول‏‎:

  • تحقق من تبعيات خاصة بالمنصة

    • بعض الحزم لديها إصدارات خاصة بالمنصة.
    • تأكد من أن التبعيات تدعم نظام Linux (Azure Web Apps تعمل على Linux بشكل افتراضي).
  • تحقق من تطابق إصدارات وقت التشغيل

    قم بتشغيل هذه الأوامر:

    # Check your local version
    dotnet --version  # .NET
    node --version    # Node.js
    python --version  # Python
    

    قارن بوقت تشغيل Azure في المدخل: الإعدادات>التكوين>الإعدادات العامة>إعدادات التكدس.

لمزيد من المساعدة، انظر: استكشاف أخطاء نقطة النهاية المراسلة وإصلاحها.