AzureFunctionApp@1 - مهمة Azure Functions v1

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

نشر Azure Function لنظام التشغيل Linux أو Windows.

بناء الجملة

# 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 Functions Deploy v1
# Deploy an Azure Function for Linux or Windows.
- 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.

الإدخالات

azureSubscription - اتصال Azure Resource Manager
string. مطلوب

تحديد اشتراك Azure Resource Manager للتوزيع.


appType - نوع التطبيق
string. مطلوب القيم المسموح بها: functionApp (Function App على Windows)، functionAppLinux (Function App على Linux).


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

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


appName - اسم التطبيق
string. مطلوب

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


deployToSlotOrASE - التوزيع إلى Slot أو App Service Environment
boolean. القيمة الافتراضية: false.

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

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

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


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

اسم مجموعة الموارد مطلوب عندما يكون هدف التوزيع إما فتحة توزيع أو App Service Environment.

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


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

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


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

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


runtimeStack - مكدس وقت التشغيل
string. ‏‏اختياري. استخدم عندما appType = functionAppLinux. القيم المسموح بها: 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.10PYTHON|3.11

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


runtimeStack - مكدس وقت التشغيل
string. ‏‏اختياري. استخدم عندما 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 (functionapp v2))، NODE|10 (NODE|11 (functionapp v3/v4))، NODE|8 (NODE|2)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 (functionapp v2/v3/v4))، PYTHON|3.7PYTHON|3.8 (PYTHON|3.8 (functionapp v3/v4))، PYTHON|3.9 (PYTHON|3.9 (functionapp v3/v4)).

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


runtimeStack - مكدس وقت التشغيل
string. ‏‏اختياري. استخدم عندما 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-* . يتم سرد قيم جديدة في القائمة المنسدلة في مساعد المهام. إذا كان هناك إصدار أحدث من إطار العمل متوفر في إصدارات وقت التشغيل المدعومة ، يمكنك تحديده حتى إذا لم يكن في القائمة.


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

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


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

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

dotnet run
dotnet filename.dll


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

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


appSettings - إعدادات التطبيق
string.

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


configurationStrings - إعدادات التكوين
string.

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


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

اختيار أسلوب التوزيع للتطبيق.


deploymentMethod - أسلوب التوزيع
string. مطلوب عند 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، تستخدم المهمة تقنية توزيع مناسبة. تقنيات التوزيع المستخدمة من قبل المهام هي كما يلي:

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

  • إذا تم توفير برنامج نصي لما بعد التوزيع، فاستخدم 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 API

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

نشر Zip

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

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

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

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

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

تستخدم المهمة كيان الخدمة في اتصال الخدمة للمصادقة مع Azure. إذا انتهت صلاحية كيان الخدمة أو لم يكن لديه أذونات لخدمة التطبيقات، تفشل المهمة مع هذا الخطأ. تحقق من صحة كيان الخدمة المستخدم وأنه موجود في تسجيل التطبيق. لمزيد من المعلومات، راجع استخدام التحكم في الوصول المستند إلى الدور لإدارة الوصول إلى موارد اشتراك 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 deploy غير مدعوم لنوع حزمة msBuild

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

  1. في مهمة إنشاء الحل، قم بتغيير وسيطات MSBuild إلى /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":

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

  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. حدد "OK". سيؤدي القيام بذلك إلى ملء المعلمات 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. بدلا من ذلك، تحتاج إلى تكوين عامل خاص على جهاز ظاهري موجود في نفس الشبكة الظاهرية مثل 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 أو أحدث
فئة المهمة نشر