أتمتة إنشاءات صورة الحاوية وصيانتها باستخدام مهام Azure Container Registry

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

مهام Azure Container Registry هي مجموعة من الميزات التي:

  • توفير بناء صورة حاوية مستندة إلى السحابة لأنظمة أساسية مثل Linux وWindows وARM.
  • قم بتوسيع الأجزاء المبكرة من دورة تطوير التطبيق إلى السحابة باستخدام إنشاءات صورة الحاوية عند الطلب.
  • تمكين البنيات التلقائية التي يتم تشغيلها بواسطة تحديثات التعليمات البرمجية المصدر أو التحديثات إلى الصورة الأساسية للحاوية أو المؤقتات.

على سبيل المثال، مع مشغلات التحديثات إلى صورة أساسية، يمكنك أتمتة نظام التشغيل وتصحيح إطار العمل لحاويات Docker الخاصة بك. يمكن أن تساعدك هذه المشغلات في الحفاظ على بيئات آمنة مع الالتزام بمبادئ الحاويات غير القابلة للتغيير.

هام

يتم إيقاف تشغيل مهمة Azure Container Registry مؤقتا من أرصدة Azure المجانية. قد يؤثر هذا الإيقاف المؤقت على تشغيل المهام الموجودة. إذا واجهت مشاكل، فافتح حالة دعم لفريقنا لتقديم إرشادات إضافية.

تحذير

قد يتم تسجيل أي معلومات تقدمها على سطر الأوامر أو كجزء من URI كجزء من تتبع تشخيص Azure Container Registry. تتضمن هذه المعلومات بيانات حساسة مثل بيانات الاعتماد ورمز الوصول الشخصي GitHub. توخي الحذر لمنع أي مخاطر أمنية محتملة. لا تقم بتضمين تفاصيل حساسة على أسطر الأوامر أو عناوين URL التي تخضع للتسجيل التشخيصي.

سيناريوهات المهمة

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

تحتوي كل مهمة على سياق تعليمات برمجية مصدر مقترن، وهو موقع الملفات المصدر المستخدمة لإنشاء صورة حاوية أو أداة أخرى. تتضمن سياقات المثال مستودع Git ونظام ملفات محلي.

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

المهام السريعة

دورة تطوير الحلقة الداخلية هي العملية التكرارية لكتابة التعليمات البرمجية وبناء واختبار التطبيق الخاص بك قبل الالتزام بالتحكم في المصدر. إنها حقا بداية إدارة دورة حياة الحاوية.

يمكن أن توفر ميزة المهمة السريعة في مهام Azure Container Registry تجربة تطوير متكاملة عن طريق إلغاء تحميل إصدارات صورة الحاوية إلى Azure. يمكنك إنشاء صورة حاوية واحدة ودفعها إلى سجل حاوية عند الطلب، في Azure، دون الحاجة إلى تثبيت Docker Engine محلي. فكر docker build، docker push في السحابة. مع المهام السريعة، يمكنك التحقق من تعريفات البناء التلقائية الخاصة بك واصطياد المشاكل المحتملة قبل الالتزام بالتعليمات البرمجية الخاصة بك.

باستخدام التنسيق المألوفdocker build، يأخذ الأمر az acr build في Azure CLI سياقا. ثم يرسل الأمر السياق إلى Azure Container Registry ويدفع (افتراضيا) الصورة المضمنة إلى السجل الخاص به عند الانتهاء.

تم تصميم مهام Azure Container Registry كبدائية لدورة حياة الحاوية. على سبيل المثال، يمكنك دمج مهام Azure Container Registry في حل التكامل المستمر والتسليم المستمر (CI/CD). إذا قمت بتشغيل az login مع كيان خدمة، يمكن لحل CI/CD إصدار أوامر az acr build لبدء إنشاءات الصور.

لمعرفة كيفية استخدام المهام السريعة، راجع التشغيل السريع والبرنامج التعليمي لإنشاء صور الحاوية ونشرها باستخدام مهام Azure Container Registry.

تلميح

إذا كنت تريد إنشاء صورة ودفعها مباشرةً من التعليمات البرمجية المصدر، دون Dockerfile، فإن Azure Container Registry يوفر الأمر az acr pack build (معاينة). تقوم هذه الأداة بإنشاء صورة ودفعها من التعليمات البرمجية المصدر للتطبيق باستخدام Cloud Native Buildpacks.

المهام التي يتم تشغيلها تلقائيا

تمكين مشغل واحد أو أكثر لإنشاء صورة.

تشغيل مهمة على تحديث التعليمات البرمجية المصدر

يمكنك تشغيل إنشاء صورة حاوية أو مهمة متعددة الخطوات عند الالتزام بالتعليمات البرمجية، أو إجراء طلب سحب أو تحديثه، إلى مستودع Git عام أو خاص في GitHub أو Azure DevOps. على سبيل المثال، قم بتكوين مهمة بناء باستخدام الأمر Azure CLI إنشاء مهمة az acr عن طريق تحديد مستودع Git وفرع وملف Docker بشكل اختياري. عندما يقوم فريقك بتحديث التعليمات البرمجية في المستودع، يقوم خطاف الويب الذي تم إنشاؤه في مهام Azure Container Registry بتشغيل بناء صورة الحاوية المعرفة في المستودع.

تدعم مهام Azure Container Registry المشغلات التالية عند تعيين مستودع Git بسياق مهمة:

المشغِّل ممكّن بشكل افتراضي
تثبيت ‏‏نعم‬
طلب سحب لا

إشعار

حاليا، لا تدعم مهام Azure Container Registry مشغلات التثبيت أو طلب السحب في مستودعات GitHub Enterprise.

لمعرفة كيفية تشغيل البنيات على تثبيت التعليمات البرمجية المصدر، راجع أتمتة إنشاءات صورة الحاوية باستخدام مهام Azure Container Registry.

الرمز المميز للوصول الشخصي

لتكوين مشغل لتحديثات التعليمات البرمجية المصدر، تحتاج إلى توفير رمز وصول شخصي للمهمة لتعيين خطاف الويب في GitHub العام أو الخاص أو Azure DevOps repo. النطاقات المطلوبة للرمز المميز للوصول الشخصي هي كما يلي:

نوع المستودع GitHub Azure DevOps
المستودع العام المستودع: الحالة
public_repo
التعليمة البرمجية (قراءة)
المستودع الخاص المستودع (تحكم كامل) التعليمة البرمجية (قراءة)

لإنشاء رمز مميز للوصول الشخصي، راجع وثائق GitHub أو Azure DevOps .

تنفيذ نظام التشغيل وإصلاح إطار العمل تلقائيّاً

تأتي قوة مهام Azure Container Registry لتحسين سير عمل بناء الحاوية من قدرتها على اكتشاف تحديث إلى صورة أساسية. الصورة الأساسية هي ميزة لمعظم صور الحاوية. إنها صورة أصل تستند إليها صورة تطبيق واحدة أو أكثر. تحتوي الصور الأساسية عادة على نظام التشغيل وأحيانا أطر عمل التطبيق.

يمكنك إعداد مهمة Azure Container Registry لتعقب تبعية على صورة أساسية عند إنشاء صورة تطبيق. عند دفع الصورة الأساسية المحدثة إلى السجل الخاص بك، أو تحديث صورة أساسية في مستودع عام كما هو الحال في Docker Hub، يمكن لمهام Azure Container Registry إنشاء أي صور تطبيق تلقائيا استنادا إليها. مع هذا الكشف التلقائي وإعادة البناء، توفر لك مهام Azure Container Registry الوقت والجهد المطلوبين عادة لتتبع وتحديث كل صورة تطبيق تشير إلى صورتك الأساسية المحدثة يدويا.

لمزيد من المعلومات، راجع حول تحديثات الصورة الأساسية لمهام Azure Container Registry والبرنامج التعليمي: أتمتة إنشاءات صورة الحاوية عند تحديث صورة أساسية في سجل حاوية Azure.

جدولة عرض توضيحي

يمكنك جدولة مهمة عن طريق إعداد مشغل مؤقت واحد أو أكثر عند إنشاء المهمة أو تحديثها. جدولة مهمة مفيد لتشغيل أعباء عمل الحاوية على جدول زمني محدد أو تشغيل عمليات الصيانة أو الاختبارات على الصور التي تدفع بانتظام إلى التسجيل. لمزيد من المعلومات، راجع تشغيل مهمة Azure Container Registry وفقا لجدول زمني محدد.

مهام متعددة الخطوات

توسيع إمكانية إنشاء صورة واحدة ودفعها لمهام Azure Container Registry مع مهام سير العمل متعددة الخطوات التي تستند إلى حاويات متعددة.

توفر المهام متعددة الخطوات تعريفاً للمهام بخطوات وتنفيذها لإنشاء صور حاوية واختبارها وتصحيحها في السحابة. تحدد خطوات المهمة المحددة في ملف YAML عمليات الإنشاء والدفع الفردية لصور الحاوية أو المشغولات الأخرى. يمكنهم أيضاً تحديد تنفيذ حاوية واحدة أو أكثر، مع كل خطوة باستخدام الحاوية كبيئة التنفيذ الخاصة بها.

على سبيل المثال، يمكنك إنشاء مهمة متعددة الخطوات تعمل على أتمتة الخطوات التالية:

  1. إنشاء صورة تطبيق ويب.
  2. تشغيل حاوية تطبيق الويب.
  3. إنشاء صورة اختبار تطبيق ويب.
  4. قم بتشغيل حاوية اختبار تطبيق الويب، والتي تجري اختبارات مقابل حاوية التطبيق قيد التشغيل.
  5. إذا اجتزت الاختبارات، قم بإنشاء حزمة أرشيف مخطط Helm.
  6. قم بتنفيذ helm upgrade مهمة باستخدام حزمة أرشيف مخطط Helm الجديدة.

تمكنك المهام متعددة الخطوات من تقسيم بناء صورة وتشغيلها واختبارها إلى خطوات أكثر قابلية للتكوين، مع دعم التبعية بين الخطوات. مع المهام متعددة الخطوات في مهام Azure Container Registry، لديك تحكم أكثر دقة في مهام سير العمل لإنشاء الصور واختبارها ونظام التشغيل وتصحيح إطار العمل.

تعرف على المزيد حول تشغيل مهام الإنشاء والاختبار والتصحيح متعددة الخطوات في مهام Azure Container Registry.

مواقع السياق

يعرض الجدول التالي أمثلة لمواقع السياق المدعومة لمهام Azure Container Registry:

موقع السياق ‏‏الوصف مثال
نظام الملفات المحلية الملفات داخل دليل على نظام الملفات المحلي. /home/user/projects/myapp
فرع GitHub الرئيسي الملفات الموجودة داخل الفرع الرئيسي (أو الظاهري الآخر) لمستودع GitHub العام أو الخاص. https://github.com/gituser/myapp-repo.git
فرع GitHub فرع محدد من اتفاقيات GitHub العامة أو الخاصة. https://github.com/gituser/myapp-repo.git#mybranch
مجلد فرعي GitHub الملفات الموجودة في مجلد فرعي في مستودع GitHub عام أو خاص. يوضح المثال تركيبة من مواصفات الفرع والمجلدات الفرعية. https://github.com/gituser/myapp-repo.git#mybranch:myfolder
التزام GitHub التزام محدد في مستودع GitHub عام أو خاص. يوضح المثال تركيبة تجزئة الالتزام (SHA) ومواصفات المجلد الفرعي. https://github.com/gituser/myapp-repo.git#git-commit-hash:myfolder
المجلد الفرعي Azure DevOps الملفات الموجودة في مجلد فرعي في مستودع Azure عام أو خاص. يوضح المثال مزيجا من مواصفات الفرع والمجلدات الفرعية. https://dev.azure.com/user/myproject/_git/myapp-repo#mybranch:myfolder
tarball عن بُعد الملفات الموجودة في أرشيف مضغوط على خادم ويب بعيد. http://remoteserver/myapp.tar.gz
قطعة أثرية في سجل الحاويات ملفاتOCI artifact في مستودع تسجيل الحاوية. oci://myregistry.azurecr.io/myartifact:mytag

إشعار

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

منصات الصور

بشكل افتراضي، تقوم مهام Azure Container Registry بإنشاء صور لنظام التشغيل Linux وبنية AMD64. حدد علامة --platform لإنشاء صور Windows أو صور Linux للبنيات الأخرى. حدد نظام التشغيل واختياريا بنية مدعومة بتنسيق نظام التشغيل/البنية (على سبيل المثال، --platform Linux/arm). بالنسبة لبنى ARM، حدد اختياريا متغيرا بتنسيق نظام التشغيل/البنية/المتغير (على سبيل المثال، --platform Linux/arm64/v8).

نظام التشغيل بناء الأنظمة
Linux AMD64
ARM
ARM64
386
Windows AMD64

إخراج المهمة

يُنشئ كل تشغيل مهمة مخرجات سجل يمكنك فحصها لتحديد ما إذا كانت خطوات المهمة قد تم تنفيذها بنجاح أم لا. عند تشغيل مهمة يدويا، يتم دفق إخراج السجل لتشغيل المهمة إلى وحدة التحكم وتخزينها للاسترداد لاحقا. عند تشغيل مهمة تلقائيا (على سبيل المثال، عن طريق تثبيت التعليمات البرمجية المصدر أو تحديث صورة أساسية)، يتم تخزين سجلات المهام فقط. اعرض سجلات التشغيل في مدخل Microsoft Azure، أو استخدم الأمر az acr task logs.

تعرف على المزيد حول عرض سجلات المهام وإدارتها.