AzureFunctionAppContainer@1 - Azure Functions لمهمة الحاوية v1

تحديث تطبيق دالة باستخدام حاوية Docker.

تحديث تطبيقات الوظائف باستخدام حاويات Docker.

بناء الجملة

# Azure Functions for container v1
# Update a function app with a Docker container.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    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.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.
# Azure Function for container v1
# Update Function Apps with Docker containers.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    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.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.

الإدخالات

azureSubscription - اشتراك Azure
string. مطلوب

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


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

اسم تطبيق الوظائف للحاويات.


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

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


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

اسم مجموعة الموارد التي تحتوي على Function App للحاويات.


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

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


imageName - اسم الصورة
string. مطلوب

اسم مجال فريد من المستوى الأعلى عالميا للسجل أو مساحة الاسم المحددة.

ملاحظه: سيكون اسم الصورة المؤهل بالكامل بالتنسيق: <registry or namespace> <repository> <tag>. على سبيل المثال، ⁧myregistry.azurecr.io/nginx:latest⁩.


containerCommand - أمر بدء التشغيل
string.

أمر بدء التشغيل الذي ينفذ بعد التوزيع. على سبيل المثال dotnet rundotnet filename.dll.


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). إحاطة القيم التي تحتوي على مسافات في علامات اقتباس مزدوجة.


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

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

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

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

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

الملاحظات

استخدم هذه المهمة لنشر Azure Function على Linux باستخدام صورة مخصصة.

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

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

خطأ SSL

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

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

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

رموز الخطأ 5xx

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

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

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

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

تتطلب هذه المهمة اتصال خدمة 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 Functions على Linux باستخدام الحاويات:


variables:
  imageName: contoso.azurecr.io/azurefunctions-containers:$(build.buildId)
  azureSubscription: Contoso
  # To ignore SSL error uncomment the following variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionAppContainer@1
  displayName: Azure Function App on Container deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: functionappcontainers
    imageName: $(imageName)

المتطلبات

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