إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تحديث تطبيق دالة باستخدام .NET وPython وJavaScript وPowerShell وتطبيقات الويب المستندة إلى Java.
Syntax
# Azure Functions Deploy v2
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@2
inputs:
connectedServiceNameARM: # string. Alias: azureSubscription. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
#isFlexConsumption: false # boolean. Is Function App on Flex Consumption Plan. Default: false.
appName: # string. Required. Azure Functions App name.
#deployToSlotOrASE: false # boolean. Optional. Use when appType != "" && isFlexConsumption = false. 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' | 'DOTNET-ISOLATED|9.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 && isFlexConsumption = false. Runtime stack.
# Application and Configuration Settings
#appSettings: # string. App settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != "" && isFlexConsumption = false && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v2
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@2
inputs:
connectedServiceNameARM: # string. Alias: azureSubscription. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
#isFlexConsumption: false # boolean. Is Function App on Flex Consumption Plan. Default: false.
appName: # string. Required. Azure Functions App name.
#deployToSlotOrASE: false # boolean. Optional. Use when appType != "" && isFlexConsumption = false. 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 && isFlexConsumption = false. Runtime stack.
# Application and Configuration Settings
#appSettings: # string. App settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != "" && isFlexConsumption = false && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v2
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@2
inputs:
connectedServiceNameARM: # string. Alias: azureSubscription. Required. Azure Resource Manager connection.
appType: # 'functionApp' | 'functionAppLinux'. Required. App type.
appName: # string. Required. Azure Functions App name.
#deployToSlotOrASE: false # boolean. Optional. Use when appType != "". 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' | 'DOTNET-ISOLATED|7.0' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10'. Optional. Use when appType = functionAppLinux. Runtime stack.
# Application and Configuration Settings
#appSettings: # string. App settings.
# Additional Deployment Options
#deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
Inputs
اتصال
الاسم المستعار للإدخل: azureSubscription.
string. Required.
حدد اتصال Azure Resource Manager للتوزيع. يجب أن يكون اتصال الخدمة متصلا باشتراك Azure نشط.
appType
-
نوع التطبيق
string. Required. القيم المسموح بها: functionApp (تطبيق الوظائف على Windows)، functionAppLinux (تطبيق الوظائف على Linux).
حدد نوع Azure Function App للنشر.
isFlexConsumption
-
تطبيق الوظائف على خطة استهلاك Flex
boolean. القيمة الافتراضية: false.
اضبط على true إذا كان تطبيق الوظائف على خطة استهلاك Flex.
appName
-
اسم تطبيق Azure Functions
string. Required.
حدد اسم تطبيق Azure Functions موجود. ستستند تطبيقات الوظائف المدرجة إلى نوع التطبيق المحدد.
deployToSlotOrASE
-
النشر إلى بيئة خدمة التطبيقات أو الفتحة
boolean. Optional. استخدم عند appType != "" && isFlexConsumption = false. القيمة الافتراضية: false.
النشر إلى فتحة نشر موجودة أو بيئة خدمة تطبيقات Azure. لكلا الهدفين، تحتاج المهمة إلى اسم مجموعة الموارد.
إذا كان هدف النشر عبارة عن فتحة، تعيينه افتراضيا إلى فتحة الإنتاج . يمكن أيضا توفير أي اسم فتحة موجود آخر.
إذا كان هدف التوزيع هو Azure App Service Environment، فاترك اسم الفتحة كإنتاج وحدد اسم مجموعة الموارد.
deployToSlotOrASE
-
النشر إلى بيئة خدمة التطبيقات أو الفتحة
boolean. Optional. استخدم عند appType != "". القيمة الافتراضية: false.
النشر إلى فتحة نشر موجودة أو بيئة خدمة تطبيقات Azure. لكلا الهدفين، تحتاج المهمة إلى اسم مجموعة الموارد.
إذا كان هدف النشر عبارة عن فتحة، تعيينه افتراضيا إلى فتحة الإنتاج . يمكن أيضا توفير أي اسم فتحة موجود آخر.
إذا كان هدف التوزيع هو Azure App Service Environment، فاترك اسم الفتحة كإنتاج وحدد اسم مجموعة الموارد.
مجموعة موارد
string. مطلوب عند deployToSlotOrASE = true.
اسم مجموعة الموارد مطلوب عندما يكون هدف التوزيع إما فتحة نشر أو بيئة خدمة التطبيقات.
إدخال أو تحديد مجموعة موارد Azure التي تحتوي على Azure App Service المحددة أعلاه.
slotName
-
فتحه
string. مطلوب عند deployToSlotOrASE = true. القيمة الافتراضية: production.
إدخال فتحة موجودة أو تحديدها، باستثناء فتحة الإنتاج.
slotName
-
فتحه
string. مطلوب عند deployToSlotOrASE = true. القيمة الافتراضية: production.
أدخل أو حدد فتحة موجودة بخلاف فتحة الإنتاج.
string. Required. القيمة الافتراضية: $(System.DefaultWorkingDirectory)/**/*.zip.
مسار الملف إلى الحزمة أو المجلد الذي يحتوي على محتوى App Service الذي تم إنشاؤه بواسطة MSBuild أو ملف مضغوط. يتم دعم المتغيرات (إصدار الإصدار | ) وأحرف البدل. على سبيل المثال، $(System.DefaultWorkingDirectory)/**/*.zip.
runtimeStack
-
مكدس وقت التشغيل
string. Optional. استخدم عند appType = functionAppLinux && isFlexConsumption = false. القيم المسموح بها: DOTNET|6.0، DOTNET-ISOLATED|6.0، DOTNET-ISOLATED|7.0DOTNET-ISOLATED|8.0DOTNET-ISOLATED|9.0JAVA|8JAVA|11JAVA|17JAVA|21NODE|14NODE|16NODE|18NODE|20PYTHON|3.8PYTHON|3.9PYTHON|3.10PYTHON|3.11. .
حدد إطار العمل والإصدار الذي سيتم تشغيل تطبيق الوظائف عليه. يمكنك استخدام أي من إصدارات وقت التشغيل المدعومة . يتم إهمال القيم القديمة مثل DOCKER|microsoft/azure-functions-*. يتم سرد القيم الجديدة في القائمة المنسدلة في مساعد المهام. إذا كان هناك إصدار أحدث من إطار العمل المتوفر في إصدارات وقت التشغيل المدعومة ، يمكنك تحديده حتى إذا لم يكن في القائمة.
Note
لا تقوم هذه القيمة حاليا بتحديث linuxFxVersion الذي يعمل عليه الموقع. وهذا يعني أنه لا يمكنك تحديث المكدس من العقدة 18 إلى العقدة 20. تقوم المهمة حاليا بتحديث إعدادات التطبيق فقط.
runtimeStack
-
مكدس وقت التشغيل
string. Optional. استخدم عند appType = functionAppLinux && isFlexConsumption = false. القيم المسموح بها: DOTNET|6.0، DOTNET-ISOLATED|6.0، DOTNET-ISOLATED|7.0، JAVA|11JAVA|21DOTNET-ISOLATED|8.0JAVA|8JAVA|17، . PYTHON|3.11NODE|14NODE|16NODE|18NODE|20PYTHON|3.8PYTHON|3.9PYTHON|3.10
حدد إطار العمل والإصدار الذي سيتم تشغيل تطبيق الوظائف عليه. يمكنك استخدام أي من إصدارات وقت التشغيل المدعومة . يتم إهمال القيم القديمة مثل DOCKER|microsoft/azure-functions-*. يتم سرد القيم الجديدة في القائمة المنسدلة في مساعد المهام. إذا كان هناك إصدار أحدث من إطار العمل المتوفر في إصدارات وقت التشغيل المدعومة ، يمكنك تحديده حتى إذا لم يكن في القائمة.
Note
لا تقوم هذه القيمة حاليا بتحديث linuxFxVersion الذي يعمل عليه الموقع. وهذا يعني أنه لا يمكنك تحديث المكدس من العقدة 18 إلى العقدة 20. تقوم المهمة حاليا بتحديث إعدادات التطبيق فقط.
runtimeStack
-
مكدس وقت التشغيل
string. Optional. استخدم عند 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))، DOTNET-ISOLATED|7.0 (DOTNET-ISOLATED|7.0 (functionapp v4))، JAVA|8 (JAVA|8 (functionapp v2/v 3/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))، NODE|18 (NODE|18 (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))، PYTHON|3.10 (PYTHON|3.10 (functionapp v3/v4)).
حدد إطار العمل والإصدار الذي سيتم تشغيل تطبيق الوظائف عليه. يمكنك استخدام أي من إصدارات وقت التشغيل المدعومة . يتم إهمال القيم القديمة مثل DOCKER|microsoft/azure-functions-*. يتم سرد القيم الجديدة في القائمة المنسدلة في مساعد المهام. إذا كان هناك إصدار أحدث من إطار العمل المتوفر في إصدارات وقت التشغيل المدعومة ، يمكنك تحديده حتى إذا لم يكن في القائمة.
appSettings
-
إعدادات التطبيق
string.
أدخل إعدادات التطبيق باستخدام -key value بناء الجملة (على سبيل المثال: -Port 5000-RequestTimeout 5000-WEBSITE_TIME_ZONE). إحاطة القيم التي تحتوي على مسافات في علامات اقتباس مزدوجة (على سبيل المثال: "Eastern Standard Time").
لمزيد من المعلومات حول إعدادات التطبيق، راجع متغيرات البيئة وإعدادات التطبيق في Azure App Service.
deploymentMethod
-
طريقة النشر
string. مطلوب عند appType != "" && isFlexConsumption = false && package NotEndsWith .war && Package NotEndsWith .jar. القيم المسموح بها: auto (الكشف التلقائي)، zipDeploy (توزيع Zip)، runFromPackage (توزيع مضغوط مع تشغيل من الحزمة). القيمة الافتراضية: auto.
يحدد أسلوب النشر للتطبيق. لا تدعم تطبيقات استهلاك Linux هذا التكوين.
يجب تعيين إعدادات تطبيق Azure Web Jobs Storage لتوزيع zip عندما يكون SKU هو استهلاك Linux. تستخدم عمليات توزيع Zip حساب تخزين لتحميل التعليمات البرمجية للتطبيق وتحميلها في التطبيق.
deploymentMethod
-
طريقة النشر
string. مطلوب عند appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. القيم المسموح بها: auto (الكشف التلقائي)، zipDeploy (توزيع Zip)، runFromPackage (توزيع مضغوط مع تشغيل من الحزمة). القيمة الافتراضية: auto.
يحدد أسلوب النشر للتطبيق. لا تدعم تطبيقات استهلاك Linux هذا التكوين.
يجب تعيين إعدادات تطبيق Azure Web Jobs Storage لتوزيع zip عندما يكون SKU هو استهلاك Linux. تستخدم عمليات توزيع Zip حساب تخزين لتحميل التعليمات البرمجية للتطبيق وتحميلها في التطبيق.
deploymentMethod
-
طريقة النشر
string. مطلوب عند appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. القيم المسموح بها: auto (الكشف التلقائي)، zipDeploy (توزيع Zip)، runFromPackage (توزيع مضغوط مع تشغيل من الحزمة). القيمة الافتراضية: auto.
يختار أسلوب النشر للتطبيق. لا تدعم تطبيقات استهلاك Linux هذا التكوين.
يجب تعيين إعدادات تطبيق Azure Web Jobs Storage لتوزيع zip عندما يكون SKU هو استهلاك Linux. تستخدم عمليات توزيع Zip حساب تخزين لتحميل التعليمات البرمجية للتطبيق وتحميلها في التطبيق.
خيارات التحكم بالمهمة
تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.
متغيرات الإخراج
تحدد هذه المهمة متغيرات الإخراج التالية، والتي يمكنك استهلاكها في خطوات انتقال البيانات والمهام والمراحل.
AppServiceApplicationUrl
عنوان URL للتطبيق لتطبيق Azure Function المحدد.
Remarks
تستخدم مهمة توزيع وظائف Azure لتحديث Azure Functions لنشر الوظائف إلى Azure. تعمل المهمة على وكلاء Azure Pipelines عبر الأنظمة الأساسية الذين يقومون بتشغيل Windows أو Linux أو Mac وتستخدم تقنيات النشر الأساسية ل RunFromPackage ونشر Zip وواجهات برمجة تطبيقات Kudu REST .
تعمل المهمة مع اللغات المدعومة من Azure Functions.
المتطلبات الأساسية للمهمة
يجب إعداد المتطلبات المسبقة التالية في الجهاز (الأجهزة) الهدف حتى تعمل المهمة بشكل صحيح.
دالة Azure
يتم استخدام المهمة لنشر مشروع Azure Functions إلى دالة Azure موجودة. يجب أن يكون تطبيق Azure Function موجودا قبل تشغيل المهمة. يمكن إنشاء تطبيق Azure Function من مدخل Microsoft Azure. بدلا من ذلك، يمكن استخدام مهمة
يمكن استخدام المهمة لنشر Azure Functions (Windows/Linux).
اشتراك Azure
للنشر إلى Azure، يجب ربط اشتراك Azure ب Azure Pipelines باستخدام علامة التبويب Services في قسم إدارة الحساب. أضف اشتراك Azure لاستخدامه في تعريف Build أو Release Management عن طريق فتح شاشة إدارة الحساب (أيقونة الترس في الجزء العلوي الأيسر من الشاشة) ثم انقر فوق علامة التبويب Services.
قم بإنشاء نقطة نهاية خدمة ARM واستخدم نوع نقطة نهاية Azure Resource Manager . لمزيد من التفاصيل ، اتبع الخطوات المدرجة في الرابط هنا.
لا تعمل المهمة مع نقطة نهاية خدمة Azure Classic ولن تسرد هذه الاتصالات في المعلمات في المهمة.
أساليب التوزيع
تتوفر العديد من أساليب النشر في هذه المهمة.
لتغيير خيار النشر المستند إلى الحزمة في مهمة مصمم، قم بتوسيع خيارات النشر الإضافية وتمكين تحديد أسلوب النشر.
استنادا إلى نوع Azure App Service وعامل Azure Pipelines، تستخدم المهمة تقنية توزيع مناسبة. تقنيات التوزيع المستخدمة من قبل المهام هي كما يلي:
- واجهة برمجة تطبيقات
Kudu REST - نشر الرمز البريدي
- تشغيل من الحزمة
بشكل افتراضي، تحاول المهمة تحديد تقنية النشر المناسبة استنادا إلى حزمة الإدخال ونوع خدمة التطبيقات ونظام تشغيل العامل.
- إذا تم توفير برنامج نصي لما بعد التوزيع، فاستخدم 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 Deploy حزمة نشر .zip من الحزمة أو المجلد المختار. ثم ينشر محتويات الملف إلى المجلد wwwroot لتطبيق وظيفة اسم App Service في Azure. يقوم هذا الخيار بالكتابة فوق كافة المحتويات الموجودة في مجلد wwwroot. لمزيد من المعلومات، راجع توزيع Zip ل Azure Functions.
تشغيل من الحزمة
يقوم Run From Package بإنشاء حزمة النشر نفسها مثل Zip Deploy. بدلا من نشر الملفات إلى المجلد wwwroot، يقوم وقت تشغيل Functions بتحميل الحزمة بأكملها. عند استخدام هذا الخيار، تصبح الملفات الموجودة في مجلد wwwroot للقراءة فقط. لمزيد من المعلومات، راجع تشغيل Azure Functions من ملف حزمة.
Troubleshooting
خطأ: تعذر إحضار رمز الوصول المميز ل Azure. تحقق مما إذا كان كيان الخدمة المستخدم صالحا ولم تنته صلاحيته.
تستخدم المهمة كيان الخدمة في اتصال الخدمة للمصادقة مع Azure. إذا انتهت صلاحية كيان الخدمة أو لم يكن لديه أذونات ل App Service، تفشل المهمة مع هذا الخطأ. تحقق من صحة كيان الخدمة المستخدم وأنه موجود في تسجيل التطبيق. لمزيد من المعلومات، راجع استخدام التحكم في الوصول المستند إلى الدور لإدارة الوصول إلى موارد اشتراك Azure. يحتوي منشور المدونة هذا أيضا على مزيد من المعلومات حول استخدام المصادقة الأساسية للخدمة.
خطأ SSL
إذا كنت ترغب في استخدام شهادة في App Service، يجب أن يتم توقيع الشهادة من قبل مرجع مصدق موثوق به. إذا كان تطبيق الويب الخاص بك يمنحك أخطاء التحقق من صحة الشهادة، فمن المحتمل أنك تستخدم شهادة موقعة ذاتيا. قم بتعيين متغير يسمى VSTS_ARM_REST_IGNORE_SSL_ERRORS إلى القيمة true في البنية الأساسية لبرنامج ربط العمليات التجارية للبناء أو الإصدار لحل الخطأ.
يتوقف الإصدار لفترة طويلة ثم يفشل
قد تكون هذه المشكلة نتيجة لعدم كفاية السعة في خطة App Service. لحل هذه المشكلة، يمكنك توسيع نطاق مثيل App Service لزيادة وحدة المعالجة المركزية وذاكرة الوصول العشوائي ومساحة القرص المتوفرة أو محاولة استخدام خطة App Service مختلفة.
5 رموز خطأxx
إذا كنت ترى خطأ 5xx ، فتحقق من حالة خدمة Azure.
توقفت وظيفة Azure فجأة عن العمل
قد تتوقف Azure Functions فجأة عن العمل إذا مر أكثر من عام واحد منذ آخر نشر. إذا قمت بالنشر باستخدام "RunFromPackage" في "deploymentMethod"، يتم إنشاء SAS بتاريخ انتهاء صلاحية لمدة سنة واحدة وتعيينه كقيمة "WEBSITE_RUN_FROM_PACKAGE" في تكوين التطبيق. تستخدم Azure Functions SAS هذا للإشارة إلى ملف الحزمة لتنفيذ الدالة، لذلك إذا انتهت صلاحية SAS، فلن يتم تنفيذ الدالة. لحل هذه المشكلة، قم بالنشر مرة أخرى لإنشاء SAS بتاريخ انتهاء صلاحية لمدة سنة واحدة.
خطأ: لم يتم العثور على حزمة ذات نمط محدد
تحقق مما إذا كانت الحزمة المذكورة في المهمة منشورة كأداة في البنية أو مرحلة سابقة وتنزيلها في المهمة الحالية.
خطأ: خيار النشر باستخدام توزيع zip غير مدعوم لنوع حزمة msBuild
تحتوي حزم الويب التي تم إنشاؤها عبر مهمة MSBuild (مع الوسيطات الافتراضية) على بنية مجلد متداخلة يمكن نشرها بشكل صحيح فقط بواسطة Web Deploy. لا يمكن استخدام خيار النشر إلى الرمز البريدي لنشر هذه الحزم. لتحويل بنية التعبئة والتغليف، اتبع الخطوات التالية:
في مهمة إنشاء الحل، قم بتغيير وسيطات MSBuild إلى
/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":
إضافة مهمة أرشفة وتغيير القيم كما يلي:
تغيير المجلد أو الملف الجذر إلى أرشفة إلى
$(System.DefaultWorkingDirectory)\\WebAppContent.قم بإلغاء تحديد خانة الاختيار Prepend root folder name to archive paths :
ينجح نشر تطبيق الوظائف على Windows ولكن التطبيق لا يعمل
قد تحدث هذه المشكلة إذا لم يكن ملف web.config موجودا في تطبيقك. يمكنك إما إضافة ملف web.config إلى المصدر أو إنشاء ملف تلقائيا باستخدام إعدادات التطبيق والتكوين
حدد المهمة وانتقل إلى إنشاء معلمات web.config لتطبيقات Python و Node.jsو Go و Java:
حدد زر المزيد (...) ضمن إنشاء معلمات web.config ل Python Node.jsوتطبيقات Go وJava لتحرير المعلمات:
حدد نوع التطبيق الخاص بك في قائمة إطار عمل التطبيق .
حدد موافق. سيؤدي القيام بذلك إلى ملء المعلمات web.config المطلوبة لإنشاء ملف web.config.
FAQs
كيف يجب تكوين اتصال الخدمة؟
تتطلب هذه المهمة اتصال خدمة Azure Resource Manager .
كيف يجب تكوين نشر مهمة الويب باستخدام Application Insights؟
عند النشر إلى خدمة التطبيقات، إذا كان لديك 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 خاصة لتمكين الاتصال بين الموارد.
Examples
فيما يلي عينة من مقتطف YAML الذي ينشر وظائف Azure على Windows:
variables:
azureSubscription: Contoso
# To ignore SSL error, uncomment the below variable
# VSTS_ARM_REST_IGNORE_SSL_ERRORS: true
steps:
- task: AzureFunctionApp@2
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.
Requirements
| Requirement | Description |
|---|---|
| أنواع البنية الأساسية لبرنامج ربط العمليات التجارية | YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي |
| يعمل على | العامل، DeploymentGroup |
| Demands | None |
| Capabilities | لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة. |
| قيود الأمر | Any |
| متغيرات Settable | Any |
| إصدار العامل | 2.104.1 أو أحدث |
| فئة المهمة | Deploy |