مشاركة عبر


AzureFunctionApp@1 - مهمة Azure Functions v1

تحديث تطبيق دالة باستخدام .NET وPython وJavaScript وPowerShell وتطبيقات الويب المستندة إلى Java.

إعراب

# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|6.0' | 'DOTNET-ISOLATED|6.0' | 'DOTNET-ISOLATED|7.0' | 'DOTNET-ISOLATED|8.0' | 'JAVA|8' | 'JAVA|11' | 'JAVA|17' | 'JAVA|21' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'NODE|20' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10' | 'PYTHON|3.11'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'DOTNET|6.0' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'NODE|16' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8' | 'PYTHON|3.9'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.

المدخلات

اتصال Azure Resource Manager
Person. مطلوب.

تحديد اشتراك Azure Resource Manager للنشر.


نوع تطبيق
Person. مطلوب. القيم المسموح بها: functionApp (تطبيق الوظائف على Windows)، functionAppLinux (تطبيق الوظائف على Linux).


appName - اسم تطبيق Azure Functions
Person. مطلوب.

إدخال اسم تطبيق Azure Functions موجود أو تحديده. ستستند تطبيقات الوظائف المدرجة إلى نوع التطبيق المحدد.


اسم تطبيق
Person. مطلوب.

إدخال اسم تطبيق Azure Functions موجود أو تحديده. ستستند تطبيقات الوظائف المدرجة إلى نوع التطبيق المحدد.


deployToSlotOrASE - Deploy to Slot أو App Service Environment
Person. القيمة الافتراضية: false.

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

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

إذا كان هدف التوزيع هو Azure App Service Environment، فاترك اسم الفتحة ك الإنتاج وحدد اسم مجموعة الموارد.


مجموعة موارد
Person. مطلوب عند deployToSlotOrASE = true.

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

إدخال أو تحديد مجموعة موارد Azure التي تحتوي على Azure App Service المحددة أعلاه.


فتحة
Person. مطلوب عند deployToSlotOrASE = true. القيمة الافتراضية: production.

إدخال فتحة موجودة أو تحديدها، باستثناء فتحة الإنتاج.


الحزمة أو المجلد
Person. مطلوب. القيمة الافتراضية: $(System.DefaultWorkingDirectory)/**/*.zip.

مسار الملف إلى الحزمة أو المجلد الذي يحتوي على محتوى App Service الذي تم إنشاؤه بواسطة MSBuild أو ملف مضغوط أو ملف حرب. المتغيرات ( إنشاء | الإصدار) وأحرف البدل مدعومة. على سبيل المثال، $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war.


مكدس وقت التشغيل
Person. اختياري. استخدم عند appType = functionAppLinux. القيم المسموح بها: DOTNET|6.0DOTNET-ISOLATED|6.0DOTNET-ISOLATED|7.0DOTNET-ISOLATED|8.0JAVA|8JAVA|11JAVA|17JAVA|21NODE|14NODE|16NODE|18NODE|20PYTHON|3.8PYTHON|3.9PYTHON|3.10PYTHON|3.11.

حدد إطار العمل والإصدار الذي سيتم تشغيل تطبيق الوظائف عليه. يمكنك استخدام أي من إصدارات وقت التشغيل المدعومة . يتم إهمال القيم القديمة مثل DOCKER|microsoft/azure-functions-*. يتم سرد قيم جديدة في القائمة المنسدلة في مساعد المهام. إذا كان هناك إصدار أحدث من إطار العمل متوفر في إصدارات وقت التشغيل المدعومة يمكنك تحديده حتى إذا لم يكن في القائمة.


مكدس وقت التشغيل
Person. اختياري. استخدم عند appType = functionAppLinux. القيم المسموح بها: DOTNET|2.2 (DOTNET|2.2 (functionapp v2))، DOTNET|3.1 (DOTNET|3.1 (functionapp v3))، DOTNET|6.0 (DOTNET|6.0 (functionapp v4))، JAVA|8 (JAVA|8 (functionapp v2/v3/v4))، JAVA|11 (JAVA|11 (functionapp v3/v4))، NODE|8 (NODE|8 (functionapp v2))، NODE|10 (NODE|10 (functionapp v2/v3))، NODE|12 (NODE|12 (functionapp v3))، NODE|14 (NODE|14 (functionapp v3/v4))، NODE|16 (NODE|16 (functionapp v4))، PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3))، PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3/v4))، PYTHON|3.8 (PYTHON|3.8 (functionapp v3/v4))، PYTHON|3.9 (PYTHON|3.9 (functionapp v3/v4)).

حدد إطار العمل والإصدار الذي سيتم تشغيل تطبيق الوظائف عليه. يمكنك استخدام أي من إصدارات وقت التشغيل المدعومة . يتم إهمال القيم القديمة مثل DOCKER|microsoft/azure-functions-*. يتم سرد قيم جديدة في القائمة المنسدلة في مساعد المهام. إذا كان هناك إصدار أحدث من إطار العمل متوفر في إصدارات وقت التشغيل المدعومة يمكنك تحديده حتى إذا لم يكن في القائمة.


مكدس وقت التشغيل
Person. اختياري. استخدم عند appType = functionAppLinux. القيم المسموح بها: DOTNET|2.2 (DOTNET|2.2 (functionapp v2))، DOTNET|3.1 (DOTNET|3.1 (functionapp v3))، JAVA|8 (JAVA|8 (functionapp v2/v3))، JAVA|11 (JAVA|11 (functionapp v3))، NODE|8 (NODE|8 (functionapp v2))، NODE|10 (NODE |10 (functionapp v2/v3))، NODE|12 (NODE|12 (functionapp v3))، NODE|14 (NODE|14 (functionapp v3))، PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3))، PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3))، PYTHON|3.8 (PYTHON|3.8 (functionapp v3)).

حدد إطار العمل والإصدار الذي سيتم تشغيل تطبيق الوظائف عليه. يمكنك استخدام أي من إصدارات وقت التشغيل المدعومة . يتم إهمال القيم القديمة مثل DOCKER|microsoft/azure-functions-*. يتم سرد قيم جديدة في القائمة المنسدلة في مساعد المهام. إذا كان هناك إصدار أحدث من إطار العمل متوفر في إصدارات وقت التشغيل المدعومة يمكنك تحديده حتى إذا لم يكن في القائمة.


مكدس وقت التشغيل
Person. اختياري. استخدم عند appType = functionAppLinux. القيم المسموح بها: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET)، DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

حدد إطار العمل والإصدار الذي سيتم تشغيل تطبيق الوظائف عليه. يمكنك استخدام أي من إصدارات وقت التشغيل المدعومة . يتم إهمال القيم القديمة مثل DOCKER|microsoft/azure-functions-*. يتم سرد قيم جديدة في القائمة المنسدلة في مساعد المهام. إذا كان هناك إصدار أحدث من إطار العمل متوفر في إصدارات وقت التشغيل المدعومة يمكنك تحديده حتى إذا لم يكن في القائمة.


أمر بدء تشغيل
Person. اختياري. استخدم عند appType = functionAppLinux.

إدخال أمر البدء. على سبيل المثال:

dotnet run
dotnet filename.dll


customWebConfig - إنشاء معلمات web.config لتطبيقات Python Node.jsوGo وJava
Person. اختياري. استخدم عند appType != functionAppLinux && package NotEndsWith .war.

سيتم إنشاء Web.config قياسي ونشره في Azure App Service إذا لم يكن التطبيق يحتوي على واحد. تختلف القيم في web.config استنادا إلى إطار عمل التطبيق، ويمكن تحريرها. على سبيل المثال، لتطبيق node.js، سيكون web.config ملف بدء تشغيل وقيم وحدة نمطية iis_node. ميزة التحرير هذه مخصصة فقط التي تم إنشاؤها web.config.


إعدادات تطبيق
Person.

أدخل إعدادات التطبيق باستخدام -key value بناء الجملة (على سبيل المثال: -Port 5000-RequestTimeout 5000-WEBSITE_TIME_ZONE). إحاطة القيم التي تحتوي على مسافات في علامات اقتباس مزدوجة (على سبيل المثال: "Eastern Standard Time").

لمزيد من المعلومات حول إعدادات التطبيق، راجع متغيرات البيئة وإعدادات التطبيق في Azure App Service.


إعدادات تكوين
Person.

أدخل سلاسل التكوين باستخدام -key value بناء الجملة (على سبيل المثال: -phpVersion 5.6-linuxFxVersion: node|6.11). إحاطة القيم التي تحتوي على مسافات في علامات اقتباس مزدوجة.


أسلوب نشر
Person. مطلوب عند appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. القيم المسموح بها: auto (الكشف التلقائي)، zipDeploy (توزيع Zip)، runFromPackage (توزيع مضغوط مع تشغيل من الحزمة). القيمة الافتراضية: auto.

اختيار أسلوب نشر للتطبيق.


أسلوب نشر
Person. مطلوب عند appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. القيم المسموح بها: auto (الكشف التلقائي)، zipDeploy (توزيع Zip)، runFromPackage (تشغيل من الحزمة). القيمة الافتراضية: auto.

اختيار أسلوب نشر للتطبيق.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

تحدد هذه المهمة متغيرات الإخراج التالية، والتي يمكنك استهلاكها في خطوات انتقال البيانات من الخادم والمهام والمراحل.

AppServiceApplicationUrl
عنوان URL للتطبيق لخدمة التطبيقات المحددة.

ملاحظات

استخدم مهمة Azure Function App لنشر وظائف إلى Azure.

أساليب النشر

تتوفر العديد من أساليب النشر في هذه المهمة. القيمة الافتراضية هي auto.

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

استنادا إلى نوع Azure App Service وعامل Azure Pipelines، تستخدم المهمة تقنية توزيع مناسبة. تقنيات التوزيع المستخدمة من قبل المهام هي كما يلي:

  • واجهة برمجة تطبيقات Kudu REST
  • نشر Zip
  • تشغيل من الحزمة

بشكل افتراضي، تحاول المهمة تحديد تقنية النشر المناسبة استنادا إلى حزمة الإدخال ونوع خدمة التطبيقات ونظام تشغيل العامل.

  • إذا تم توفير برنامج نصي لما بعد التوزيع، فاستخدم Zip Deploy.
  • إذا كان نوع App Service هو Web App على Linux، فاستخدم Zip Deploy.
  • إذا تم توفير ملف .war، فاستخدم War Deploy.
  • إذا تم توفير ملف .jar، فاستخدم Run-From-Zip.
  • بالنسبة لجميع المهام الأخرى، استخدم Run From Package (عبر Zip Deploy).

على عامل غير Windows (لأي نوع من أنواع App Service)، تعتمد المهمة على Kudu REST API لنشر تطبيق الويب.

واجهة برمجة تطبيقات Kudu REST

يعمل Kudu REST API على كل من عوامل التشغيل التلقائي ل Windows وLinux عندما يكون الهدف هو تطبيق ويب على Windows أو تطبيق ويب على Linux (مصدر مضمن) أو تطبيق دالة. تستخدم المهمة Kudu لنسخ الملفات إلى Azure App Service.

توزيع Zip

ينشئ Zip Deploy حزمة نشر .zip من الحزمة أو المجلد المختار. ثم ينشر محتويات الملف إلى المجلد wwwroot لتطبيق وظيفة اسم App Service في Azure. يقوم هذا الخيار بالكتابة فوق كافة المحتويات الموجودة في مجلد wwwroot. لمزيد من المعلومات، راجع توزيع Zip لوظائف Azure.

تشغيل من الحزمة

يقوم Run From Package بإنشاء حزمة النشر نفسها مثل Zip Deploy. بدلا من نشر الملفات إلى المجلد wwwroot، يقوم وقت تشغيل Functions بتحميل الحزمة بأكملها. عند استخدام هذا الخيار، تصبح الملفات الموجودة في مجلد wwwroot للقراءة فقط. لمزيد من المعلومات، راجع تشغيل وظائف Azure من ملف حزمة.

استكشاف الاخطاء

خطأ: تعذر إحضار رمز الوصول المميز ل Azure. تحقق مما إذا كان كيان الخدمة المستخدم صالحا ولم تنته صلاحيته.

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

خطأ SSL

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

يتوقف الإصدار لفترة طويلة ثم يفشل

قد تكون هذه المشكلة نتيجة لعدم كفاية السعة في خطة App Service. لحل هذه المشكلة، يمكنك توسيع نطاق مثيل App Service لزيادة وحدة المعالجة المركزية وذاكرة الوصول العشوائي ومساحة القرص المتوفرة أو محاولة استخدام خطة App Service مختلفة.

5xx رموز الخطأ

إذا كنت ترى خطأ 5xx، تحقق من حالة خدمة Azure.

توقفت وظيفة Azure فجأة عن العمل

قد تتوقف Azure Functions فجأة عن العمل إذا مر أكثر من عام واحد منذ آخر نشر. إذا قمت بالنشر باستخدام "RunFromPackage" في "deploymentMethod"، يتم إنشاء SAS بتاريخ انتهاء صلاحية لمدة سنة واحدة وتعيينه كقيمة "WEBSITE_RUN_FROM_PACKAGE" في تكوين التطبيق. تستخدم Azure Functions SAS هذا للإشارة إلى ملف الحزمة لتنفيذ الدالة، لذلك إذا انتهت صلاحية SAS، فلن يتم تنفيذ الدالة. لحل هذه المشكلة، قم بالنشر مرة أخرى لإنشاء SAS بتاريخ انتهاء صلاحية لمدة سنة واحدة.

خطأ: لم يتم العثور على حزمة ذات نمط محدد

تحقق مما إذا كانت الحزمة المذكورة في المهمة منشورة كأداة في البنية أو مرحلة سابقة وتنزيلها في المهمة الحالية.

خطأ: خيار النشر باستخدام توزيع zip غير مدعوم لنوع حزمة msBuild

تحتوي حزم الويب التي تم إنشاؤها عبر مهمة MSBuild (مع الوسيطات الافتراضية) على بنية مجلد متداخلة يمكن نشرها بشكل صحيح فقط بواسطة Web Deploy. لا يمكن استخدام خيار النشر إلى الرمز البريدي لنشر هذه الحزم. لتحويل بنية التعبئة والتغليف، اتبع الخطوات التالية:

  1. في مهمة إنشاء الحل، قم بتغيير وسائط MSBuild إلى :

    لقطة شاشة تعرض قيم حل البناء.

  2. إضافة مهمة أرشفة وتغيير القيم كما يلي:

    1. قم بتغيير المجلد أو الملف الجذر لأرشفة إلى $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. قم بإلغاء تحديد خانة الاختيار اسم المجلد الجذر Prepend لأرشفة المسارات:

      لقطة شاشة تعرض قيم الأرشيف.

ينجح نشر تطبيق الوظائف على Windows ولكن التطبيق لا يعمل

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

  1. حدد المهمة وانتقل إلى إنشاء معلمات web.config ل Python Node.jsوتطبيقات Go وJava:

    لقطة شاشة تعرض قسم إنشاء معلمات web.config.

  2. حدد الزر المزيد (...) ضمن إنشاء معلمات web.config ل Python Node.jsوتطبيقات Go وJava لتحرير المعلمات:

    لقطة شاشة تعرض معلمات إنشاء web.config.

  3. حدد نوع التطبيق الخاص بك في قائمة إطار عمل تطبيق .

  4. حدد موافق. سيؤدي القيام بذلك إلى ملء المعلمات web.config المطلوبة لإنشاء ملف web.config.

الأسئلة المتداولة

كيف يجب تكوين اتصال الخدمة؟

تتطلب هذه المهمة اتصال خدمة Azure Resource Manager .

كيف يجب تكوين نشر مهمة الويب باستخدام Application Insights؟

عند النشر إلى App Service، إذا كان لديك Application Insights تكوينه وقمت بتمكين Remove additional files at destination، فستحتاج أيضا إلى تمكين Exclude files from the App_Data folder. يؤدي تمكين هذا الخيار إلى الحفاظ على ملحق Application Insights في حالة آمنة. هذه الخطوة مطلوبة لأن WebJob المستمر Application Insights مثبت في مجلد App_Data.

كيف يجب تكوين وكيلي إذا كان خلف وكيل أثناء النشر إلى App Service؟

إذا كان الوكيل المستضاف ذاتيا يتطلب وكيل ويب، يمكنك إبلاغ الوكيل عن الوكيل أثناء التكوين. يسمح القيام بذلك لعاملك بالاتصال ب Azure Pipelines أو Azure DevOps Server من خلال الوكيل. تعرف على المزيد حول تشغيل عامل مستضاف ذاتيا خلف وكيل ويب.

لا يمكنني النشر إلى بيئة خدمة التطبيقات الداخلية باستخدام اتصال خدمة Azure Resource Manager وعامل مستضاف من Microsoft

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

امثله

فيما يلي عينة من مقتطف YAML الذي ينشر وظائف Azure على Windows:


variables:
  azureSubscription: Contoso
  # To ignore SSL error, uncomment the below variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionApp@1
  displayName: Azure Function App Deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: samplefunctionapp
    appType: functionApp
    package: $(System.DefaultWorkingDirectory)/**/*.zip

لنشر دالة على Linux، أضف المعلمة appType وقم بتعيينها إلى appType: functionAppLinux. إذا لم تحدد قيمة، functionApp هو الافتراضي.

لتحديد أسلوب النشر بشكل صريح ك Zip Deploy، أضف المعلمة deploymentMethod: zipDeploy. قيمة أخرى مدعومة لهذه المعلمة هي runFromPackage. إذا لم تحدد قيمة، auto هو الافتراضي.

للحصول على معاينة توضح كيفية إنشاء مسار CI/CD، راجع إنشاء Java ونشرها إلى Azure Functions.

المتطلبات

احتياج وصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
متطلبات اي
قدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأمر أي
متغيرات Settable أي
إصدار العامل 2.104.1 أو أحدث
فئة المهمة نشر