AzureContainerApps@1 - Azure Container Apps Deploy v1 task

مهمة Azure DevOps لإنشاء تطبيقات حاوية Azure وتوزيعها.

بناء الجملة

# Azure Container Apps Deploy v1
# An Azure DevOps Task to build and deploy Azure Container Apps.
- task: AzureContainerApps@1
  inputs:
  # advanced
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #appSourcePath: # string. Application source path. 
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    #acrName: # string. Azure Container Registry name. 
    #acrUsername: # string. Azure Container Registry username. 
    #acrPassword: # string. Azure Container Registry password. 
    #dockerfilePath: # string. Dockerfile path. 
    #imageToBuild: # string. Docker image to build. 
    #imageToDeploy: # string. Docker image to deploy. 
    #containerAppName: # string. Azure Container App name. 
    #resourceGroup: # string. Azure resource group name. 
    #containerAppEnvironment: # string. Azure Container App environment. 
    #runtimeStack: # string. Application runtime stack. 
    #targetPort: # string. Application target port. 
    #location: # string. Location of the Container App. 
    #environmentVariables: # string. Environment variables. 
    #ingress: # string. Ingress setting. 
    #yamlConfigPath: # string. YAML configuration file path. 
    #disableTelemetry: # boolean. Disable telemetry.

الإدخالات

workingDirectory - دليل العمل
الاسم المستعار للإدخل: cwd. string.

دليل العمل الحالي حيث يتم تشغيل البرنامج النصي. فارغ هو جذر المستودع (البناء) أو البيانات الاصطناعية (الإصدار)، وهو $ (System.DefaultWorkingDirectory).


appSourcePath - مسار مصدر التطبيق
string.

المسار المطلق على مشغل التعليمات البرمجية للتطبيق المصدر المراد إنشاؤه. إذا لم يتم توفيرها، يجب توفير وسيطة "imageToDeploy" للتأكد من أن تطبيق الحاوية يحتوي على صورة للإشارة إليها.

عند دفع صورة جديدة إلى ACR، acrName يلزم إدخالات المهمة و appSourcePath .


azureSubscription - اتصال Azure Resource Manager
الاسم المستعار للإدخل: connectedServiceNameARM. string. مطلوب

حدد اتصال خدمة Azure Resource Manager للتوزيع. يجب ربط اتصال الخدمة هذا باشتراك Azure الخاص بالمستخدم حيث سيتم إنشاء/تحديث تطبيق الحاوية. يجب أن يكون لاتصال الخدمة هذا أذونات مناسبة لإجراء هذه التغييرات داخل الاشتراك، على سبيل المثال دور المساهم.


acrName - اسم Azure Container Registry
string.

اسم Azure Container Registry الذي سيتم دفع صورة التطبيق القابلة للتشغيل إليه.

عند دفع صورة جديدة إلى ACR، acrName يلزم إدخالات المهمة و appSourcePath .


acrUsername - اسم مستخدم Azure Container Registry
string.

اسم المستخدم المستخدم لمصادقة طلبات الدفع إلى Azure Contrainer Registry المتوفر. إذا لم يتم توفيره، فسيتم إنشاء رمز مميز للوصول عبر "az acr login" وتوفيره إلى "تسجيل دخول docker" لمصادقة الطلبات.


acrPassword - كلمة مرور Azure Container Registry
string.

كلمة المرور المستخدمة لمصادقة طلبات الدفع إلى Azure Contrainer Registry المتوفر. إذا لم يتم توفيره، فسيتم إنشاء رمز مميز للوصول عبر "az acr login" وتوفيره إلى "تسجيل دخول docker" لمصادقة الطلبات.


dockerfilePath - مسار Dockerfile
string.

المسار النسبي (_without بادئات الملفات (راجع الأمثلة التالية) إلى Dockerfile في مصدر التطبيق المتوفر الذي يجب استخدامه لإنشاء الصورة التي يتم دفعها بعد ذلك إلى ACR وتوزيعها في تطبيق الحاوية. إذا لم يتم توفيرها، فستتحقق هذه المهمة مما إذا كان هناك ملف يسمى "Dockerfile" في جذر مصدر التطبيق المقدم واستخدامه لإنشاء الصورة. وإلا، سيتم استخدام Oryx++ Builder لإنشاء الصورة.


imageToBuild - صورة Docker المراد إنشائها
string.

الاسم المخصص للصورة التي سيتم إنشاؤها، ودفعها إلى ACR ونشرها في تطبيق الحاوية بواسطة هذه المهمة. ملاحظة: يجب أن يتضمن اسم الصورة هذا خادم ACR؛ على سبيل المثال، <acr-name>.azurecr.io/<repo>:<tag>. إذا لم يتم توفير هذه الوسيطة، فسيتم إنشاء اسم صورة افتراضي في شكل <acr-name>.azurecr.io/ado-task/container-app:<build-id>.<build-number>.


imageToDeploy - صورة Docker المراد نشرها
string.

اسم الصورة التي تم دفعها بالفعل إلى ACR وسيتم نشرها في تطبيق الحاوية بواسطة هذه المهمة. ملاحظة: يجب أن يتضمن اسم الصورة خادم ACR؛ على سبيل المثال، <acr-name>.azurecr.io/<repo>:<tag>. إذا لم يتم توفير هذه الوسيطة، فسيتم استخدام القيمة المقدمة (أو المحددة) للوسيطة "imageToBuild". إذا تم العثور على هذه الصورة في مثيل ACR يتطلب مصادقة للسحب، acrName يمكن توفير الوسيطة أو acrUsername الوسيطتين و acrPassword لمصادقة الطلبات إلى مثيل ACR.


containerAppName - اسم تطبيق حاوية Azure
string.

اسم Azure Container App الذي سيتم إنشاؤه أو تحديثه. إذا لم يتم توفيرها، ستكون هذه القيمة في شكل ado-task-app-<build-id>-<build-number>.


resourceGroup - اسم مجموعة موارد Azure
string.

مجموعة الموارد الموجودة التي سيتم إنشاء تطبيق حاوية Azure فيها (أو موجودة حاليا فيها). إذا لم يتم توفيرها، ستكون هذه القيمة في شكل <container-app-name>-rg.


containerAppEnvironment - بيئة Azure Container App
string.

اسم بيئة Azure Container App لاستخدامها مع التطبيق. إذا لم يتم توفيرها، فسيتم استخدام بيئة موجودة في مجموعة الموارد لتطبيق الحاوية، وإلا، سيتم إنشاء بيئة بتنسيق <container-app-name>-env.


runtimeStack - مكدس وقت تشغيل التطبيق
string.

مكدس إصدار النظام الأساسي المستخدم في صورة التطبيق النهائية القابلة للتشغيل التي يتم نشرها في تطبيق الحاوية. يجب توفير القيمة في التكوين <platform>:<version>. إذا لم يتم توفيرها، يتم تحديد هذه القيمة بواسطة Oryx استنادا إلى محتويات التطبيق المقدم. يرجى الرجوع إلى هذا المستند لمزيد من المعلومات حول مكدسات وقت التشغيل المدعومة ل Oryx.


targetPort - منفذ هدف التطبيق
string.

المنفذ الهدف الذي سيستمع إليه تطبيق الحاوية. إذا لم يتم توفيرها، ستكون هذه القيمة "80" لتطبيقات Python و"8080" لجميع الأنظمة الأساسية الأخرى المدعومة.


location - موقع تطبيق الحاوية
string.

الموقع الذي سيتم نشر تطبيق الحاوية (والموارد الأخرى التي تم إنشاؤها) إليه.


environmentVariables - متغيرات البيئة
string.

قائمة متغيرات (متغيرات) البيئة للحاوية. القيم المفصولة بالمساحة بتنسيق "key=value". سلسلة فارغة لمسح القيم الموجودة. قيمة البادئة مع 'secretref:' للإشارة إلى سر.


ingress - إعداد الدخول
string.

الخيارات المحتملة: خارجية، داخلية، معطلة. إذا تم تعيينه إلى external (القيمة الافتراضية إذا لم يتم توفيرها عند إنشاء تطبيق حاوية)، فسيكون تطبيق الحاوية مرئيا من الإنترنت أو VNET، اعتمادا على نقطة نهاية بيئة التطبيق التي تم تكوينها. إذا تم تعيينه إلى internal، فسيكون تطبيق الحاوية مرئيا من داخل بيئة التطبيق فقط. إذا تم تعيينه إلى disabled، فسيتم تعطيل الدخول لتطبيق الحاوية هذا ولن يكون له نقطة نهاية HTTP أو TCP.


yamlConfigPath - مسار ملف تكوين YAML
string.

المسار الكامل (على عامل Azure Pipelines المنفذ) إلى ملف YAML الذي يفصل تكوين تطبيق الحاوية.

resourceGroupلن يتم استخدام الخاصية في ملف تكوين YAML؛ قيمة هذا إما تأتي من الوسيطة resourceGroup المقدمة للمهمة، أو اسم مجموعة الموارد الافتراضي الذي تم إنشاؤه بواسطة المهمة. ستتجاوز جميع الخصائص الأخرى المتوفرة في ملف تكوين YAML القيم المقدمة كوسيطات لهذه المهمة؛ على سبيل المثال، إذا تم توفير الوسيطة containerAppName للمهمة، وتم تعيين الخاصية name في ملف تكوين YAML، name فسيتم استخدام الخاصية في ملف YAML عند إنشاء تطبيق الحاوية أو تحديثه.

ستظل وسيطات مصدر الصورة والتطبيق (على سبيل المثال، appSourcePath، imageToDeploy) تستخدم أولا لإنشاء و/أو دفع صورة يستخدمها تطبيق الحاوية؛ وفي هذه الحالة، سيحتاج ملف تكوين YAML المتوفر إلى الرجوع إلى الصورة المحددة بواسطة imageToDeploy (أو imageToBuild، اعتمادا على السيناريو الخاص بك).

عند إنشاء تطبيق حاوية جديد، سيتم تعيين جميع الخصائص المدرجة في ملف تكوين YAML (باستثناء resourceGroup ما ذكر أعلاه) عند إنشاء تطبيق الحاوية. عند تحديث تطبيق حاوية موجود، سيتم تحديث الخصائص المدرجة في الملف فقط على تطبيق الحاوية.

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

في الحالات التي يتم فيها توفير الوسيطة yamlConfigPath ، سيتم تمرير ملف YAML إلى الأمر المقابل az containerapp ، إما create أوupdate اعتمادا على السيناريو الخاص بك. لمزيد من المعلومات حول السلوك المقصود عند توفير ملف تكوين YAML، يرجى الاطلاع على المستندات المرتبطة بالأوامر المقابلة.

لمزيد من المعلومات حول بنية ملف تكوين YAML، يرجى زيارة هذا الموقع.


disableTelemetry - تعطيل بيانات تتبع الاستخدام
boolean.

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


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

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

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

لا شيء

الملاحظات

تسمح مهمة Azure Pipelines هذه للمستخدمين بنشر مصدر التطبيق الخاص بهم بسهولة إلى Azure Container App في سير عمل Azure Pipelines الخاص بهم إما عن طريق توفير صورة تم إنشاؤها مسبقا أو Dockerfile يمكن إنشاء صورة منها أو استخدام منشئ لإنشاء صورة تطبيق قابلة للتشغيل للمستخدم.

تحتوي المهمة على نمطي الاستخدام التاليين.

  • دفع صورة إلى ACR - عند دفع صورة جديدة إلى ACR، acrName يلزم إدخالات المهمة و appSourcePath .
  • توزيع صورة تم دفعها مسبقا - عند نشر صورة تم دفعها مسبقا، imageToDeploy يلزم إدخال المهمة. إذا تم العثور على هذه الصورة في مثيل ACR يتطلب مصادقة للسحب، acrName يمكن توفير الوسيطة أو acrUsername الوسيطتين و acrPassword لمصادقة الطلبات إلى مثيل ACR.

ملاحظة

على الرغم من أنه لم يتم وضع علامة رسميا على أي إدخال مهمة على أنه "مطلوب" في بيانات التعريف لهذه المهمة، إلا أنه يجب توفير بعض المدخلات حتى يتم تشغيل هذه المهمة بنجاح باستخدام أحد اثنين من patات الاستخدام الرئيسية.

إذا لم يتم العثور على Dockerfile أو توفيره في مصدر التطبيق المتوفر، يتم تنفيذ الخطوات التالية بواسطة هذه المهمة:

  • يستخدم Oryx++ Builder لإنشاء مصدر التطبيق باستخدام Oryx لإنتاج صورة تطبيق قابلة للتشغيل
  • يدفع صورة التطبيق القابلة للتشغيل هذه إلى Azure Container Registry المتوفر
  • إنشاء تطبيق حاوية أو تحديثه استنادا إلى هذه الصورة

إذا تم العثور على Dockerfile أو اكتشافه في مصدر التطبيق، فلن يتم استخدام المنشئ وسيتم إنشاء الصورة باستدعاء docker build وسيتم إنشاء تطبيق الحاوية أو تحديثه استنادا إلى هذه الصورة.

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

تشغيل هذه المهمة على الوكلاء المستضافين من Microsoft

إذا كنت تقوم بتشغيل هذه المهمة على عامل مستضاف من Microsoft، فقد تجد أن هذه المهمة غير قادرة على التشغيل بنجاح مع أنظمة التشغيل التالية:

  • macOS
    • لا تأتي مشغلات macOS التي توفرها Microsoft مثبتة مع Docker (مزيد من المعلومات هنا)؛ نتيجة لذلك، هذه المهمة غير قادرة على تشغيل أي docker أوامر، مثل دفع صور التطبيق القابلة للتشغيل المضمنة إلى ACR.
  • Windows
    • يأتي مشغلو Windows الذين توفرهم Microsoft مزودين ب Docker مثبتا، ولكن بشكل افتراضي، لا يمكن سحب الصور المستندة إلى Linux؛ نتيجة لذلك، هذه المهمة غير قادرة على سحب منشئ Oryx لإنشاء صور تطبيق قابلة للتشغيل من مصدر التطبيق المقدم.

يرجى الاطلاع على قسم المتطلبات الأساسية ل Docker أدناه لمزيد من المعلومات.

إشعار جمع البيانات/بيانات تتبع الاستخدام

بشكل افتراضي، تجمع مهمة Azure DevOps هذه الأجزاء التالية من البيانات ل Microsoft:

  • سيناريو إنشاء تطبيق الحاوية ونشره الذي يستهدفه المستخدم
    • على سبيل المثال، استخدم Oryx++ Builder، أو استخدم Dockerfile المتوفر/الذي تم العثور عليه، أو قدم صورة تم إنشاؤها مسبقا
    • ملاحظة: لم يتم جمع اسم الصورة
  • وقت معالجة المهمة بالمللي ثانية
  • نتيجة المهمة
    • أي نجح أو فشل
  • إذا تم استخدام Oryx++ Builder، فإن الأحداث والمقاييس المتعلقة بإنشاء التطبيق المقدم باستخدام Oryx

إذا كنت تريد تعطيل جمع البيانات، فالرجاء تعيين الوسيطة disableTelemetry إلى true.

المتطلبات الأساسية

قبل تشغيل هذه المهمة، تكون موارد Azure واتصال خدمة Azure DevOps مطلوبة أو اختيارية اعتمادا على الوسيطات المقدمة لهذه المهمة.

اتصال خدمة Azure DevOps

للنشر في Azure، يجب ربط اشتراك Azure ب Team Foundation Server أو ب Azure Pipelines باستخدام علامة التبويب Services في قسم الإعدادات. أضف اشتراك Azure لاستخدامه في تعريف إدارة الإنشاء أو الإصدار عن طريق فتح شاشة إدارة الحساب (أيقونة الترس في أعلى يمين الشاشة) ثم انقر فوق علامة التبويب الخدمات.

أنشئ نقطة نهاية خدمة ARM واستخدم نوع نقطة النهاية "Azure Resource Manager"؛ لمزيد من المعلومات حول إنشاء اتصالات الخدمة، يرجى اتباع هذا المستند.

Azure CLI

تتطلب هذه المهمة تثبيت Azure CLI على عامل Azure Pipelines لتنفيذ مجموعة متنوعة من الأوامر طوال تنفيذ المهمة. لمزيد من المعلومات حول كيفية تثبيت Azure CLI على العامل، يرجى الاطلاع على هذا المستند. إذا كان العامل يعمل بالفعل على الجهاز الذي تم تثبيت Azure CLI عليه، فتأكد من إعادة تشغيل العامل بحيث يتم تحديث جميع متغيرات البيئة ذات الصلة.

Docker

تتطلب هذه المهمة تثبيت Docker على عامل Azure Pipelines لدفع الصور إلى Azure Container Registry المتوفر. لمزيد من المعلومات حول كيفية تثبيت Docker على العامل، يرجى الاطلاع على هذا المستند.

بالإضافة إلى ذلك، قد يواجه المستخدمون الذين يقومون بتشغيل هذه المهمة باستخدام عامل Windows مشكلة تتعلق بعدم القدرة على سحب الصور المستندة إلى Linux؛ لحل هذه المشكلة، يرجى زيارة هذا الموقع أو تحديد موقع DockerCli.exe الملف على وكيلك (عادة في Program Files\Docker\Docker المجلد) وتشغيله

& `.\DockerCli.exe` -SwitchDaemon

إذا لم يتم تثبيت Docker على العامل الذي يقوم بتشغيل هذه المهمة، فلا يزال يتم تمكين السيناريو (السيناريوهات) التالي:

  • توفير صورة تم إنشاؤها مسبقا للوسيطة imageToDeploy التي ينشرها تطبيق الحاوية

إذا كان Docker على العامل، ولكنه غير قادر على العمل مع الصور المستندة إلى Linux، فلا يزال السيناريو (السيناريوهات) التالي ممكنا:

  • توفير صورة تم إنشاؤها مسبقا للوسيطة imageToDeploy التي ينشرها تطبيق الحاوية
  • Dockerfile توفير كجزء من مصدر التطبيق الخاص بك الذي سيتم إنشاؤه وتوزيعه باستخدام تطبيق الحاوية
    • ملاحظة: لا يمكن أن يحتوي على Dockerfile أي طبقات صور مستندة إلى Linux

حزمة CLI

يتم الاحتفاظ بحزمة CLI بواسطة مشروع Cloud Native Buildpacks وتستخدمها هذه المهمة لإنشاء صور تطبيق قابلة للتشغيل للمستخدم عند توفير التعليمات البرمجية المصدر للتطبيق ولم يتم توفير Dockerfile إضافي أو العثور عليه. تم إنشاء منشئ بواسطة Oryx لأخذ التعليمات البرمجية المصدر للتطبيق المقدمة لهذه المهمة وإنتاج صورة يمكن دفعها بعد ذلك إلى سجل صور واستخدامها داخل تطبيق الحاوية لإنشاء التطبيق وتشغيله.

يتم تثبيت إصدار ثابت من حزمة CLI على عامل Azure Pipelines الذي ينفذ المهمة، واعتمادا على نظام التشغيل الأساسي لهذا العامل، سيتم الاستفادة من أدوات مختلفة للمساعدة في التثبيت:

  • على مشغلات Windows:
    • يتم تنفيذ مجموعة من أوامر PowerShell للقيام بما يلي:
      • pack إنشاء مجلد في المجلد المؤقت للعامل، إذا pack لم يكن المجلد موجودا بالفعل
      • تنزيل حزمة CLI .zip في هذا pack المجلد
      • فك ضغط المحتوى من هذا .zip ووضعه في pack المجلد
      • حذف .zip
  • على المشغلات غير التابعة ل Windows:
    • curl سيتم استخدام لسحب أسفل التي .tgz تحتوي على pack قابل للتنفيذ
    • tar سيتم استخدام لفك ضغط .tgz ووضع pack الملف القابل للتنفيذ في /usr/local/bin

Azure Container Registry

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

اسم Azure Container Registry مطلوب عبر الوسيطة acrName .

يمكن للمستخدم أيضا توفير قيم للوسيطتين acrUsername و acrPassword التي ستقوم بمصادقة المكالمات إلى مثيل Azure Container Registry؛ إذا لم يتم توفيرها، فسيتم إنشاء رمز مميز للوصول عبر Azure CLI الذي سيقوم بمصادقة المكالمات بدلا من ذلك.

بيئة Azure Container App

يوصى بإنشاء بيئة Azure Container App مسبقا من قبل المستخدم لتحسين أداء المهمة. إذا لم يتم إنشاء بيئة من قبل، أو إذا تعذر العثور على بيئة في مجموعة الموارد التي يتم استخدامها لاستضافة تطبيق الحاوية الذي تم إنشاؤه، فسيتم إنشاء بيئة بواسطة كجزء من az containerapp up الأمر، مما قد يستغرق وقتا إضافيا.

أمثلة

توضح الأمثلة التالية كيفية استخدام في AzureContainerApps سيناريوهات مختلفة.

الحد الأدنى - إنشاء صورة تطبيق لتطبيق الحاوية

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم ado-task-app-<build-id>-<build-number> في مجموعة موارد جديدة تسمى <container-app-name>-rg. سيستند تطبيق الحاوية إلى صورة تم إنشاؤها من المقدمة appSourcePath ودفعها إلى مثيل ACR المتوفر. سيتم إنشاء رمز مميز للوصول لمصادقة الدفع إلى مثيل ACR المتوفر.

الحد الأدنى - استخدام الصورة المنشورة مسبقا لتطبيق الحاوية

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    imageToDeploy: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم ado-task-app-<build-id>-<build-number> في مجموعة موارد جديدة تسمى <container-app-name>-rg حيث لم يتم إنشاء صورة جديدة، ولكن سيتم استخدام صورة موجودة باسم mcr.microsoft.com/azuredocs/containerapps-helloworld:latest لتطبيق الحاوية.

الحد الأدنى - استخدام ملف تكوين YAML مع صورة منشورة مسبقا لتطبيق الحاوية

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    yamlConfigPath: simple-image-container-app.yaml

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم ado-task-app-<build-id>-<build-number> في مجموعة موارد جديدة تسمى <container-app-name>-rg حيث لم يتم إنشاء صورة جديدة، ولكن سيتم استخدام صورة موجودة باسم mcr.microsoft.com/azuredocs/containerapps-helloworld:latest لتطبيق الحاوية. سيتم سحب خصائص إضافية حول تطبيق الحاوية simple-image-container-app.yaml من الملف وستتجاوز أي قيم إضافية كان سيتم توفيرها للمهمة كوسيطات باستثناء resourceGroup.

يحتوي simple-image-container-app.yaml الملف على البنية التالية:

properties:
  managedEnvironmentId: /subscriptions/SUBSCRIPTION_ID/resourceGroup/RESOURCE_GROUP/providers/Microsoft.App/managedEnvironments/CONTAINER_APP_ENVIRONMENT
  configuration:
    ingress:
      external: true
      allowInsecure: false
      targetPort: 80
  template:
    containers:
      - image: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest
        name: mysampleimagecontainer

يجب تحديث قيم SUBSCRIPTION_IDو RESOURCE_GROUPCONTAINER_APP_ENVIRONMENT للإشارة إلى معرف المورد الكامل لبيئة تطبيق الحاوية الموجودة التي سيستخدمها تطبيق الحاوية.

استخدام بيانات اعتماد ACR للمصادقة

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    acrUsername: $(ACR_USERNAME_SECRET)
    acrPassword: $(ACR_PASSWORD_SECRET)

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم ado-task-app-<build-id>-<build-number> في مجموعة موارد جديدة تسمى <container-app-name>-rg. سيستند تطبيق الحاوية إلى صورة تم إنشاؤها من المقدمة appSourcePath ودفعها إلى مثيل ACR المتوفر. سيتم استخدام بيانات اعتماد ACR المتوفرة لمصادقة المكالمات إلى مثيل ACR.

اسم تطبيق الحاوية المقدم

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppName: 'my-test-container-app'

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم my-test-container-app في اسم my-test-container-app-rgمجموعة موارد جديد .

مجموعة الموارد المتوفرة

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    resourceGroup: 'my-test-rg'

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم ado-task-app-<build-id>-<build-number> في مجموعة موارد تسمى my-test-rg. my-test-rg إذا لم تكن مجموعة الموارد موجودة، فسيتم إنشاؤها كجزء من هذه المهمة.

اسم تطبيق الحاوية ومجموعة الموارد المقدمة

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppName: 'my-test-container-app'
    resourceGroup: 'my-test-rg'

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم my-test-container-app في مجموعة موارد تسمى my-test-rg. my-test-rg إذا لم تكن مجموعة الموارد موجودة، فسيتم إنشاؤها كجزء من هذه المهمة.

بيئة تطبيق الحاوية المتوفرة

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppEnvironment: 'my-test-container-app-env'

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم ado-task-app-<build-id>-<build-number> في مجموعة موارد جديدة تسمى <container-app-name>-rg ببيئة Container App جديدة تسمى my-test-container-app-env.

مكدس وقت التشغيل المتوفر

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    runtimeStack: 'dotnetcore:7.0'

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم ado-task-app-<build-id>-<build-number> في مجموعة موارد جديدة تسمى <container-app-name>-rg حيث تستخدم صورة التطبيق القابلة للتشغيل مكدس وقت التشغيل .NET 7.

تم توفير Dockerfile

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    dockerfilePath: 'test.Dockerfile'

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم ado-task-app-<build-id>-<build-number> في مجموعة موارد جديدة تسمى <container-app-name>-rg حيث تم إنشاء صورة التطبيق القابلة للتشغيل من الملف الموجود test.Dockerfile في دليل مسار مصدر التطبيق المتوفر.

ملاحظة: بالنسبة للقيم المقدمة إلى dockerfilePath، لا يجب تضمين بادئات الملفات (على سبيل المثال، ./test.Dockerfile يجب تمريرها على أنها مجرد test.Dockerfile). appSourcePath سيتم تسلسل الوسيطات المقدمة والوسيطة dockerfilePath داخل المهمة.

تم توفير صورة للبناء

steps:
- task: AzureContainerApps@1
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    imageToBuild: 'mytestacr.azurecr.io/app:latest'

سيؤدي ذلك إلى إنشاء تطبيق حاوية جديد باسم ado-task-app-<build-id>-<build-number> في مجموعة موارد جديدة تسمى <container-app-name>-rg حيث تسمى mytestacr.azurecr.io/app:latestالصورة التي تم إنشاؤها ودفعها إلى ACR .

المتطلبات

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

راجع أيضًا