كيفية نشر تطبيقات متعددة اللغات في خطة Azure Spring Apps Enterprise
إشعار
يعد Azure Spring Apps هو الاسم الجديد لخدمة Azure Spring Cloud. رغم أن الخدمة تحمل اسماً جديداً، سترى الاسم القديم في بعض الأماكن لفترة من الوقت بينما نعمل على تحديث الأصول مثل لقطات الشاشة، ومقاطع الفيديو، والرسوم التخطيطية.
تنطبق هذه المقالة على:❌ Basic/Standard ✔️ Enterprise
توضح هذه المقالة كيفية نشر تطبيقات متعددة اللغات في خطة Azure Spring Apps Enterprise، وكيف يمكن لهذه التطبيقات متعددة اللغات استخدام ميزات خدمة البناء التي توفرها buildpacks.
المتطلبات الأساسية
- مثيل خطة Azure Spring Apps Enterprise الذي تم توفيره بالفعل. لمزيد من المعلومات، راجع التشغيل السريع: إنشاء التطبيقات ونشرها في Azure Spring Apps باستخدام خطة المؤسسة.
- إصدار Azure CLI 2.45.0 أو أعلى. استخدم الأمر التالي لتثبيت ملحق Azure Spring Apps:
az extension add --name spring
نشر تطبيقات متعددة اللغات في مثيل خدمة
ينطبق هذا القسم على إنشاء ونشر تطبيقات متعددة اللغات عند تمكين خدمة البناء. إذا قمت بتعطيل خدمة الإنشاء، يمكنك نشر التطبيقات فقط مع صورة حاوية مخصصة. يمكنك إنشاء صورتك الخاصة أو استخدام صورة تم إنشاؤها بواسطة مثيل Azure Spring Apps Enterprise. لمزيد من المعلومات، راجع نشر تطبيق مع صورة حاوية مخصصة.
إدارة المنشئين
عند إنشاء مثيل ل Azure Spring Apps Enterprise، يجب عليك اختيار منشئ افتراضي من إحدى حزم بناء عائلة اللغة المدعومة التالية:
- Java Azure Buildpack ل VMware Tanzu
- .NET Core Buildpack ل VMware Tanzu
- Go Buildpack ل VMware Tanzu
- Web Servers Buildpack ل VMware Tanzu
- Node.js Buildpack ل VMware Tanzu
- Python Buildpack ل VMware Tanzu
- Java Native Image Buildpack for VMware Tanzu
- PHP Buildpack ل VMware Tanzu
لمزيد من المعلومات، راجع Language Family Buildpacks for VMware Tanzu.
تدعم buildpacks الإنشاء باستخدام التعليمات البرمجية المصدر أو البيانات الاصطناعية لتطبيقات Java و.NET Core وGo وملفات الويب الثابتة Node.js وPython. يمكنك أيضا رؤية إصدارات buildpack أثناء إنشاء منشئ أو عرضه. ويمكنك إنشاء منشئ مخصص عن طريق تحديد buildpacks ومكدس.
يتم سرد جميع المنشئين الذين تم تكوينهم في مثيل خدمة Azure Spring Apps في صفحة Build Service ، كما هو موضح في لقطة الشاشة التالية:
حدد إضافة لإنشاء منشئ جديد. تظهر لقطة الشاشة التالية الموارد التي يجب استخدامها لإنشاء المنشئ المخصص. يتضمن مكدس نظام التشغيل و Jammy Tiny
Bionic Full
Jammy Base
و و.Jammy Full
Bionic Base
يعتمد Bionic على Ubuntu 18.04 (Bionic Beaver)
ويستند جامى على Ubuntu 22.04 (Jammy Jellyfish)
. لمزيد من المعلومات، راجع قسم توصيات مكدس نظام التشغيل.
نوصي باستخدام Jammy OS Stack
لإنشاء منشئك لأن VMware مهمل Bionic OS Stack
.
يمكنك أيضا تحرير منشئ مخصص عندما لا يتم استخدام المنشئ في عملية نشر. يمكنك تحديث حزم buildpack أو OS Stack، لكن اسم المنشئ للقراءة فقط.
المنشئ هو مورد يساهم باستمرار في عمليات النشر الخاصة بك. ويوفر أحدث صور وقت التشغيل وأحدث buildpacks.
لا يمكنك حذف منشئ عند إنشاء عمليات نشر نشطة موجودة مع المنشئ. لحذف منشئ في هذه الحالة، استخدم الخطوات التالية:
- احفظ التكوين كمنشئ جديد.
- نشر التطبيقات باستخدام المنشئ الجديد. ترتبط عمليات التوزيع بالمنشئ الجديد.
- ترحيل عمليات النشر ضمن المنشئ السابق إلى المنشئ الجديد.
- حذف المنشئ الأصلي.
توصيات مكدس نظام التشغيل
في Azure Spring Apps، نوصي باستخدام Jammy OS Stack
لإنشاء منشئك لأنه Bioinic OS Stack
في سطر للإهمال بواسطة VMware. تصف القائمة التالية الخيارات المتوفرة:
جامي صغيرة: مناسبة لبناء صورة الحد الأدنى لأصغر حجم ممكن وبصمة أمنية. مثل إنشاء صورة Java الأصلية، يمكن أن تجعل صورة الحاوية النهائية أصغر. المكتبات المتكاملة محدودة. على سبيل المثال، لا يمكنك الاتصال بمثيل تطبيق لاستكشاف الأخطاء وإصلاحها لأنه لا توجد
shell
مكتبة.- معظم تطبيقات Go.
- تطبيقات Java. لا تتوفر بعض خيارات تكوين Apache Tomcat، مثل إعداد bin/setenv.sh، لأن Tiny لا يحتوي على shell.
قاعدة التشويش: مناسبة لمعظم التطبيقات دون ملحقات أصلية.
- تطبيقات Java وتطبيقات .NET Core.
- انتقل إلى التطبيقات التي تتطلب بعض مكتبات C.
- تطبيقات Node.js أو Python أو Web Servers بدون ملحقات أصلية.
تشويش كامل: يتضمن معظم المكتبات، وهو مناسب للتطبيقات ذات الملحقات الأصلية. على سبيل المثال، يتضمن مكتبة خطوط أكثر اكتمالا. إذا كان تطبيقك يعتمد على الملحق الأصلي، فاستخدم المكدس
Full
.- Node.js أو تطبيقات Python مع ملحقات أصلية.
لمزيد من المعلومات، راجع Ubuntu Stacks في وثائق VMware.
إدارة سجل الحاوية
يوضح لك هذا القسم كيفية إدارة سجل الحاوية المستخدم من قبل خدمة البناء إذا قمت بتمكين خدمة البناء مع سجل الحاوية الخاص بك. إذا قمت بتمكين خدمة البناء باستخدام سجل حاويات مدار من Azure Spring Apps، يمكنك تخطي هذا القسم.
بعد تمكين سجل حاوية مستخدم مع خدمة الإنشاء، يمكنك إظهار السجل وتكوينه باستخدام مدخل Microsoft Azure أو Azure CLI.
استخدم الخطوات التالية لإظهار سجل الحاوية وإضافته وتحريره وحذفه:
افتح مدخل Azure.
حدد Container registry في جزء التنقل.
حدد Add لإنشاء سجل حاوية.
بالنسبة إلى سجل الحاوية، حدد زر علامة الحذف (...)، ثم حدد تحرير لعرض تكوين السجل.
راجع القيم الموجودة في صفحة تحرير سجل الحاوية.
لحذف سجل حاوية، حدد زر علامة الحذف (...)، ثم حدد حذف لحذف السجل. إذا تم استخدام سجل الحاوية بواسطة خدمة الإنشاء، فلا يمكن حذفه.
يمكن لخدمة الإنشاء استخدام سجل حاوية، ويمكن أيضا تغيير سجل الحاوية المقترن. تستغرق هذه العملية وقتا طويلا. عند حدوث التغيير، يتم دفع جميع موارد البناء والبناء ضمن إعادة إنشاء خدمة البناء، ثم يتم دفع صور الحاوية النهائية إلى سجل الحاوية الجديد.
استخدم الخطوات التالية لتبديل سجل الحاوية المقترن بخدمة الإنشاء:
افتح مدخل Azure.
حدد Build Service في جزء التنقل.
حدد سجل الحاوية المرجعي لتحديث سجل الحاوية لخدمة البناء.
إنشاء ونشر تطبيقات متعددة اللغات
يمكنك إنشاء ونشر تطبيقات متعددة اللغات بالطرق التالية باستخدام سجل الحاوية:
بالنسبة لخدمة الإنشاء باستخدام سجل الحاوية المدار في Azure Spring Apps، يمكنك إنشاء تطبيق إلى صورة ثم توزيعه إلى مثيل خدمة Azure Spring Apps الحالي. يتم تنفيذ الإنشاء والنشر معا باستخدام
az spring app deploy
الأمر .بالنسبة لخدمة الإنشاء باستخدام سجل حاوية يديره المستخدم، يمكنك إنشاء تطبيق في صورة حاوية ثم نشر الصورة إلى مثيل Azure Spring Apps Enterprise الحالي والمثيلات الأخرى. أوامر الإنشاء والنشر منفصلة. يمكنك استخدام أمر الإنشاء لإنشاء بنية أو تحديثها، ثم استخدام أمر التوزيع لنشر صورة الحاوية إلى مثيل الخدمة.
لمزيد من المعلومات، راجع قسم Build service on demand في Use Tanzu Build Service.
توضح الأمثلة التالية بعض أوامر الإنشاء المفيدة لاستخدامها.
az configure --defaults group=<resource-group-name> spring=<service-name>
az spring build-service build list
az spring build-service build show --name <build-name>
az spring build-service build create --name <build-name> --artifact-path <artifact-path>
az spring build-service build update --name <build-name> --artifact-path <artifact-path>
az spring build-service build delete --name <build-name>
تظهر أمثلة Azure CLI التالية إنشاء ملف بيانات اصطناعية ونشره لسيناريو سجل حاوية:
- سجل الحاويات المدار في Azure Spring Apps.
- سجل الحاوية المدار من قبل المستخدم.
ينشئ هذا المثال وينشر في أمر واحد. يحدد الأمر التالي منشئا لإنشاء تطبيق إلى صورة حاوية، ثم ينشر التطبيق مباشرة في مثيل خدمة Azure Springs Apps Enterprise.
إذا لم تحدد المنشئ، يتم استخدام منشئ default
.
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--artifact-path <path-to-your-JAR-file>
إذا قمت بنشر التطبيق مع ملف أداة، فاستخدم --artifact-path
لتحديد مسار الملف. كل من ملفات JAR و WAR مقبولة.
إذا اكتشف Azure CLI حزمة WAR ك JAR رقيق، فاستخدم --disable-validation
لتعطيل التحقق من الصحة.
ينشر المثال التالي مجلد التعليمات البرمجية المصدر إلى نشر نشط باستخدام المعلمة --source-path
لتحديد المجلد.
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--source-path <path-to-source-code>
يمكنك أيضا تكوين بيئة الإنشاء لإنشاء التطبيق. على سبيل المثال، في تطبيق Java، يمكنك تحديد إصدار JDK باستخدام BP_JVM_VERSION
بيئة الإنشاء.
لتحديد بيئات الإنشاء، استخدم --build-env
، كما هو موضح في المثال التالي. يتم وصف متغيرات بيئة الإنشاء المتوفرة لاحقا في هذه المقالة.
ينشر الأمر التالي تطبيقا:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--build-env <key1=value1> <key2=value2> \
--builder <builder-name> \
--artifact-path <path-to-your-JAR-file>
لكل بنية، يمكنك أيضا تحديد موارد البناء، كما هو موضح في المثال التالي.
ينشر الأمر التالي تطبيقا:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--build-env <key1=value1> <key2=value2> \
--build-cpu <build-cpu-size> \
--build-memory <build-memory-size> \
--builder <builder-name> \
--artifact-path <path-to-your-JAR-file>
مورد وحدة المعالجة المركزية/الذاكرة الافتراضي للبناء هو 1 vCPU, 2 Gi
. إذا كان التطبيق الخاص بك يحتاج إلى قدر أصغر أو أكبر من الذاكرة، فاستخدم --build-memory
لتحديد موارد الذاكرة - على سبيل المثال، 1Gi
500Mi
و 2Gi
و وهكذا. إذا كان التطبيق الخاص بك يحتاج إلى كمية أصغر أو أكبر من موارد وحدة المعالجة المركزية، فاستخدم --build-cpu
لتحديد موارد وحدة المعالجة المركزية - على سبيل المثال، 500m
1
2
و و وهكذا. الحد الأقصى لمورد وحدة المعالجة المركزية/الذاكرة للبنية هو 8 vCPU, 16Gi
.
يتم تقييد موارد وحدة المعالجة المركزية والذاكرة من خلال حجم تجمع وكيل خدمة البناء. لمزيد من المعلومات، راجع قسم Build agent pool في Use Tanzu Build Service. لا يمكن أن يتجاوز مجموع الحصة النسبية لمورد بناء المعالجة حجم تجمع العامل.
يعتمد العدد المتوازي لمهام الإنشاء على حجم تجمع العامل وكل مورد بناء. على سبيل المثال، إذا كان مورد البناء هو الافتراضي 1 vCPU, 2 Gi
وحجم تجمع العامل هو 6 vCPU, 12 Gi
، فإن رقم البناء المتوازي هو 6.
يتم حظر مهام الإنشاء الأخرى لفترة من الوقت بسبب قيود الحصة النسبية للموارد.
يجب إنصات التطبيق الخاص بك على المنفذ 8080. تتجاوز SERVER_PORT
تطبيقات Spring Boot استخدام 8080 تلقائيا.
اللغات المدعومة للتوزيع
يوضح الجدول التالي الميزات المدعومة لكل لغة.
ميزة | Java | Python | العقدة | .NET Core | انتقال | الملفات الثابتة | صورة Java الأصلية | PHP |
---|---|---|---|---|---|---|---|---|
إدارة دورة حياة التطبيق | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
تعيين نقطة نهاية | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Azure Monitor | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
من خارج الصندوق تكامل APM | ✔️ | |||||||
توزيع الأزرق- الأخضر | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
مجال مخصص | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
التحجيم - التحجيم التلقائي | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
التحجيم - التحجيم اليدوي (الداخل/الخارج، الأعلى/الأسفل) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
الهوية المُدارة | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ️ | ✔️ |
مدخل واجهة برمجة التطبيقات ل VMware Tanzu | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Spring Cloud Gateway ل VMware Tanzu | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
خدمة تكوين التطبيق ل VMware Tanzu | ✔️ | ✔️ | ||||||
سجل خدمة VMware Tanzu | ✔️ | ✔️ | ||||||
App Live View ل VMware Tanzu | ✔️ | ✔️ | ||||||
الشبكة الظاهرية | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
عنوان IP الصادر | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
E2E TLS | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
استكشاف الأخطاء وإصلاحها المتقدم - محادثة نصية/كومة ذاكرة مؤقتة/النسخة الاحتياطية JFR | ✔️ | |||||||
إحضار مساحة التخزين الخاصة بك | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
دمج ربط الخدمة مع Resource Connector | ✔️ | ✔️ | ||||||
مناطق قابلية الوصول | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
أحداث دورة حياة التطبيق | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
حجم التطبيق مخفض - 0.5 vCPU و512 MB | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
التنفيذ التلقائي لتوزيع التطبيق باستخدام Terraform وAzure Pipeline Task | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
حذف مبدئي | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
تجربة تشخيصية تفاعلية (تعتمد على AppLens) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
SLA | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
تخصيص فحوصات السلامة | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
اتصال Web shell لاستكشاف الأخطاء وإصلاحها | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ️ ✔️ | ✔️ |
تصحيح الأخطاء عن بعد | ✔️ | ️ | ️ | ️ |
لمزيد من المعلومات حول التكوينات المدعومة لتطبيقات اللغات المختلفة، راجع القسم المقابل لاحقا في هذه المقالة.
قيود صورة Java الأصلية
الصورة الأصلية هي تقنية لتجميع تعليمات Java البرمجية مسبقا إلى ملف قابل للتنفيذ أصلي. توفر الصور الأصلية مزايا مختلفة، مثل بدء التشغيل الفوري وتقليل استهلاك الذاكرة. يمكنك حزم الصور الأصلية في صورة حاوية خفيفة الوزن لنشر أسرع وأكثر كفاءة. بسبب التحسين العالمي المغلق، تنطبق القيود التالية:
- تتطلب ميزات Java التالية التكوين في وقت الإنشاء القابل للتنفيذ:
- تحميل الفئة الديناميكية
- التفكير
- وكيل ديناميكي
- JNI (واجهة Java الأصلية)
- التسلسل
- لم يعد Bytecode متوفرا في وقت التشغيل، لذلك لا يمكن تصحيح الأخطاء والمراقبة باستخدام الأدوات الموجهة إلى JVMTI.
الميزات التالية غير مدعومة في Azure Spring Apps بسبب قيود صورة Java الأصلية. ستدعمها Azure Spring Apps عندما تتغلب صورة Java الأصلية والمجتمع على القيد.
ميزة | لماذا لا يتم دعمه |
---|---|
Azure Monitor | لا تدعم الصور الأصلية المبنية من GraalVM مقاييس JVM. |
التحجيم - التحجيم التلقائي | لا تدعم الصور الأصلية المبنية من GraalVM مقاييس JVM. |
تكامل APM الجاهز | لا يدعم بائع APM و Buildpack الصورة الأصلية. |
الهوية المُدارة | لا تدعم Azure SDKs الصورة الأصلية. |
استكشاف الأخطاء وإصلاحها المتقدم - مؤشر الترابط/كومة الذاكرة المؤقتة/تفريغ JFR | لا تدعم الصور الأصلية المبنية من GraalVM مؤشر الترابط/كومة الذاكرة المؤقتة/تفريغ JFR. |
تصحيح الأخطاء عن بعد | لا تدعم صورة GraalVM الأصلية تصحيح الأخطاء عن بعد. |
اتصال بدون كلمة مرور باستخدام خدمة الاتصال or | لا يدعم Azure Java SDK الصورة الأصلية. |
إشعار
في أقسام تكوين إنشاء ونشر اللغة المختلفة التالية، --build-env
يعني استخدام البيئة في مرحلة الإنشاء. --env
يعني أنه يتم استخدام البيئة في مرحلة وقت التشغيل.
نوصي بتحديد إصدار اللغة في حالة تغيير الإصدار الافتراضي. على سبيل المثال، استخدم --build-env BP_JVM_VERSION=11.*
لتحديد Java 11 كإصدار JDK. بالنسبة للغات الأخرى، يمكنك الحصول على اسم متغير البيئة في الأوصاف التالية لكل لغة.
نشر تطبيقات Java
buildpack لنشر تطبيقات Java هو tanzu-buildpacks/java-azure.
يسرد الجدول التالي الميزات المدعومة في Azure Spring Apps:
وصف الميزة | تعليق | متغير البيئة | الاستخدام |
---|---|---|---|
يوفر Microsoft OpenJDK. | تكوين إصدار JVM. إصدار JDK الافتراضي هو 17. مدعوم حاليا: JDK 8 و11 و17 و21. | BP_JVM_VERSION |
--build-env BP_JVM_VERSION=11.* |
وقت التشغيل env. تكوين ما إذا كان يتم تمكين Java Native Memory Tracking (NMT). تُعد القيمة الافتراضية هي صحيح. غير مدعوم في JDK 8. | BPL_JAVA_NMT_ENABLED |
--env BPL_JAVA_NMT_ENABLED=true |
|
تكوين مستوى التفاصيل لإخراج Java Native Memory Tracking (NMT). القيمة الافتراضية هي ملخص. تعيين إلى تفاصيل لإخراج NMT التفصيلي. | BPL_JAVA_NMT_LEVEL |
--env BPL_JAVA_NMT_ENABLED=summary |
|
أضف شهادات CA إلى مخزن ثقة النظام في وقت الإنشاء والتشغيل. | راجع قسم Configure CA certificates for app builds and deployments في كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
التكامل مع Application Insights وDynatrace و Elastic و New Relic و App Dynamic APM agent. | راجع كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
نشر حزمة WAR باستخدام Apache Tomcat أو TomEE. | تعيين خادم التطبيق لاستخدامه. قم بتعيين tomcatلاستخدام Tomcat و tomee لاستخدام TomEE. القيمة الافتراضية هي tomcat. | BP_JAVA_APP_SERVER |
--build-env BP_JAVA_APP_SERVER=tomee |
دعم تطبيقات Spring Boot. | يشير إلى ما إذا كنت ستساهم في دعم Spring Cloud Bindings للصورة في وقت الإنشاء. القيمة الافتراضية هي false. | BP_SPRING_CLOUD_BINDINGS_DISABLED |
--build-env BP_SPRING_CLOUD_BINDINGS_DISABLED=false |
يشير إلى ما إذا كان يجب تكوين خصائص بيئة Spring Boot تلقائيا من الروابط في وقت التشغيل. تتطلب هذه الميزة تثبيت روابط Spring Cloud بالفعل في وقت الإنشاء أو أنها لا تفعل شيئا. القيمة الافتراضية هي false. | BPL_SPRING_CLOUD_BINDINGS_DISABLED |
--env BPL_SPRING_CLOUD_BINDINGS_DISABLED=false |
|
دعم بناء التطبيقات المستندة إلى Maven من المصدر. | يستخدم لمشروع متعدد الوحدات النمطية. يشير إلى الوحدة النمطية للعثور على البيانات الاصطناعية للتطبيق. الإعدادات الافتراضية للوحدة النمطية الجذر (فارغة). | BP_MAVEN_BUILT_MODULE |
--build-env BP_MAVEN_BUILT_MODULE=./gateway |
دعم بناء التطبيقات المستندة إلى Gradle من المصدر. | يستخدم لمشروع متعدد الوحدات النمطية. يشير إلى الوحدة النمطية للعثور على البيانات الاصطناعية للتطبيق. الإعدادات الافتراضية للوحدة النمطية الجذر (فارغة). | BP_GRADLE_BUILT_MODULE |
--build-env BP_GRADLE_BUILT_MODULE=./gateway |
تمكين تكوين التسميات على الصورة التي تم إنشاؤها. | تكوين كل من التسميات المحددة من OCI بأسماء متغيرات بيئة قصيرة وتسميات عشوائية باستخدام بناء جملة محددة بمسافة في متغير بيئة واحد. | BP_IMAGE_LABELS BP_OCI_AUTHORS راجع المزيد من متغيرات البيئة هنا. |
--build-env BP_OCI_AUTHORS=<value> |
دمج عامل JProfiler. | يشير إلى ما إذا كان يجب دمج دعم JProfiler. القيمة الافتراضية هي false. | BP_JPROFILER_ENABLED |
مرحلة الإنشاء: --build-env BP_JPROFILER_ENABLED=true مرحلة وقت التشغيل: --env BPL_JPROFILER_ENABLED=true BPL_JPROFILER_PORT=<port> (اختياري، افتراضي إلى 8849) BPL_JPROFILER_NOWAIT=true (اختياري. يشير إلى ما إذا كان يتم تنفيذ JVM قبل إرفاق JProfiler. القيمة الافتراضية صحيحة.) |
يشير إلى ما إذا كان سيتم تمكين دعم JProfiler في وقت التشغيل. القيمة الافتراضية هي false. | BPL_JPROFILER_ENABLED |
--env BPL_JPROFILER_ENABLED=false |
|
يشير إلى المنفذ الذي يستمع إليه عامل JProfiler. القيمة الافتراضية هي 8849. | BPL_JPROFILER_PORT |
--env BPL_JPROFILER_PORT=8849 |
|
يشير إلى ما إذا كان يتم تنفيذ JVM قبل إرفاق JProfiler. تُعد القيمة الافتراضية هي صحيح. | BPL_JPROFILER_NOWAIT |
--env BPL_JPROFILER_NOWAIT=true |
|
دمج عامل JRebel . | يجب أن يحتوي التطبيق على ملف rebel-remote.xml . | غير متوفر | غير متوفر |
تقوم AES بتشفير تطبيق في وقت الإنشاء ثم فك تشفيره في وقت التشغيل. | مفتاح AES لاستخدامه في وقت الإنشاء. | BP_EAR_KEY |
--build-env BP_EAR_KEY=<value> |
مفتاح AES لاستخدامه في وقت التشغيل. | BPL_EAR_KEY |
--env BPL_EAR_KEY=<value> |
|
دمج عامل AspectJ Weaver . | <APPLICATION_ROOT> / aop.xml موجود وs aspectj-weaver.*.jar موجود. |
غير متوفر | غير متوفر |
نشر تطبيقات .NET
buildpack لنشر تطبيقات .NET هي tanzu-buildpacks/dotnet-core.
يسرد الجدول التالي الميزات المدعومة في Azure Spring Apps:
وصف الميزة | تعليق | متغير البيئة | الاستخدام |
---|---|---|---|
تكوين إصدار وقت تشغيل .NET Core. | يدعم Net6.0 وNet7.0 وNet8.0. يمكنك التكوين من خلال ملف runtimeconfig.json أو MSBuild Project. وقت التشغيل الافتراضي هو 6.0.*. |
غير متوفر | غير متوفر |
أضف شهادات CA إلى مخزن ثقة النظام في وقت الإنشاء والتشغيل. | راجع قسم Configure CA certificates for app builds and deployments في كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
التكامل مع عوامل Dynatrace و New Relic APM. | راجع كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
تمكين تكوين التسميات على الصورة التي تم إنشاؤها. | تكوين كل من التسميات المحددة من OCI بأسماء متغيرات بيئة قصيرة وتسميات عشوائية باستخدام بناء جملة محددة بمسافة في متغير بيئة واحد. | BP_IMAGE_LABELS BP_OCI_AUTHORS راجع المزيد من متغيرات البيئة هنا. |
--build-env BP_OCI_AUTHORS=<value> |
نشر تطبيقات Python
buildpack لنشر تطبيقات Python هي tanzu-buildpacks/python.
يسرد الجدول التالي الميزات المدعومة في Azure Spring Apps:
وصف الميزة | تعليق | متغير البيئة | الاستخدام |
---|---|---|---|
حدد إصدار Python. | يدعم 3.8.*، 3.9.*، 3.10.*، 3.11.*، 3.12.*. القيمة الافتراضية هي 3.10.* يمكنك تحديد الإصدار عبر BP_CPYTHON_VERSION متغير البيئة أثناء الإنشاء. |
BP_CPYTHON_VERSION |
--build-env BP_CPYTHON_VERSION=3.8.* |
أضف شهادات CA إلى مخزن ثقة النظام في وقت الإنشاء والتشغيل. | راجع قسم Configure CA certificates for app builds and deployments في كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
تمكين تكوين التسميات على الصورة التي تم إنشاؤها. | تكوين كل من التسميات المحددة من OCI بأسماء متغيرات بيئة قصيرة وتسميات عشوائية باستخدام بناء جملة محددة بمسافة في متغير بيئة واحد. | BP_IMAGE_LABELS BP_OCI_AUTHORS راجع المزيد من متغيرات البيئة هنا. |
--build-env BP_OCI_AUTHORS=<value> |
نشر تطبيقات Go
buildpack لنشر تطبيقات Go هي tanzu-buildpacks/go.
يسرد الجدول التالي الميزات المدعومة في Azure Spring Apps:
وصف الميزة | تعليق | متغير البيئة | الاستخدام |
---|---|---|---|
حدد إصدار Go. | يدعم 1.20.*، 1.21.*. القيمة الافتراضية هي 1.20.*. يتم الكشف عن إصدار Go تلقائيا من ملف go.mod للتطبيق. يمكنك تجاوز هذا الإصدار عن طريق تعيين BP_GO_VERSION متغير البيئة في وقت الإنشاء. |
BP_GO_VERSION |
--build-env BP_GO_VERSION=1.20.* |
تكوين أهداف متعددة. | تحديد أهداف متعددة لبنية Go. | BP_GO_TARGETS |
--build-env BP_GO_TARGETS=./some-target:./other-target |
أضف شهادات CA إلى مخزن ثقة النظام في وقت الإنشاء والتشغيل. | راجع قسم Configure CA certificates for app builds and deployments في كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
التكامل مع عامل Dynatrace APM. | راجع كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
تمكين تكوين التسميات على الصورة التي تم إنشاؤها. | تكوين كل من التسميات المحددة من OCI بأسماء متغيرات بيئة قصيرة وتسميات عشوائية باستخدام بناء جملة محددة بمسافة في متغير بيئة واحد. | BP_IMAGE_LABELS BP_OCI_AUTHORS راجع المزيد من متغيرات البيئة هنا. |
--build-env BP_OCI_AUTHORS=<value> |
توزيع تطبيقات Node.js
buildpack لنشر تطبيقات Node.js هي tanzu-buildpacks/nodejs.
يسرد الجدول التالي الميزات المدعومة في Azure Spring Apps:
وصف الميزة | تعليق | متغير البيئة | الاستخدام |
---|---|---|---|
حدد إصدار عقدة. | يدعم 16.*، 18.*، 19.*، 20.*. القيمة الافتراضية هي 20.*. يمكنك تحديد إصدار العقدة عبر ملف .nvmrc أو .node-version في جذر دليل التطبيق. BP_NODE_VERSION يتجاوز الإعدادات. |
BP_NODE_VERSION |
--build-env BP_NODE_VERSION=19.* |
أضف شهادات CA إلى مخزن ثقة النظام في وقت الإنشاء والتشغيل. | راجع قسم Configure CA certificates for app builds and deployments في كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
التكامل مع Dynatrace و Elastic و New Relic و App Dynamic APM agent. | راجع كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
تمكين تكوين التسميات على الصورة التي تم إنشاؤها. | تكوين كل من التسميات المحددة من OCI بأسماء متغيرات بيئة قصيرة وتسميات عشوائية باستخدام بناء جملة محددة بمسافة في متغير بيئة واحد. | BP_IMAGE_LABELS BP_OCI_AUTHORS راجع المزيد من متغيرات البيئة هنا. |
--build-env BP_OCI_AUTHORS=<value> |
نشر تطبيق Angular باستخدام Angular Live Development Server. | حدد المضيف قبل التشغيل ng serve في package.json: ng serve --host 0.0.0.0 --port 8080 --public-host <your application domain name> . يتوفر اسم مجال التطبيق في صفحة نظرة عامة على التطبيق، في قسم عنوان URL. قم بإزالة البروتوكول https:// قبل المتابعة. |
BP_NODE_RUN_SCRIPTS NODE_ENV |
--build-env BP_NODE_RUN_SCRIPTS=build NODE_ENV=development |
نشر تطبيقات WebServer
buildpack لنشر تطبيقات WebServer هي tanzu-buildpacks/web-servers.
لمزيد من المعلومات، راجع نشر ملفات الويب الثابتة.
نشر تطبيقات Java Native Image (معاينة)
buildpack لنشر تطبيقات صورة Java الأصلية هي tanzu-buildpacks/java-native-image.
يمكنك نشر تطبيقات الصور الأصلية ل Spring Boot باستخدام buildpack tanzu-buildpacks/java-native-image
. يوفر Spring Native الدعم لتحويل تطبيقات Spring Boot برمجيا إلى ملفات تنفيذية أصلية. تستخدم buildpack Liberica Native Image Kit (NIK) لإنشاء صور أصلية لتطبيقات Spring Boot ويتم دعم هذه التطبيقات بالكامل.
عند إنشاء صورة Java أصلية، يجب عليك تعيين بيئة BP_NATIVE_IMAGE
البناء إلى true
ويجب ألا يكون مورد ذاكرة البناء أقل من 8Gi. يجب ألا يكون حجم تجمع وكيل خدمة البناء أقل من 4 vCPU, 8 Gi
. لمزيد من المعلومات، راجع قسم Build agent pool في Use Tanzu Build Service.
إذا كنت ترغب في إنشاء الصورة الأصلية في صورة حاوية بحجم أصغر، فإننا نوصي باستخدام منشئ مع Jammy Tiny
مكدس نظام التشغيل. لمزيد من المعلومات، راجع قسم توصيات مكدس نظام التشغيل.
يسرد الجدول التالي الميزات المدعومة في Azure Spring Apps:
وصف الميزة | تعليق | متغير البيئة | الاستخدام |
---|---|---|---|
التكامل مع Bellsoft OpenJDK. | تكوين إصدار JDK. مدعوم حاليا: JDK 8 و11 و17 و20. | BP_JVM_VERSION |
--build-env BP_JVM_VERSION=17 |
تكوين وسيطات للأمر native-image . |
وسيطات لتمريرها مباشرة إلى الأمر الأصلي للصورة. يجب أن تكون هذه الوسيطات صالحة ومكونة بشكل صحيح أو يفشل أمر الصورة الأصلية. | BP_NATIVE_IMAGE_BUILD_ARGUMENTS |
--build-env BP_NATIVE_IMAGE_BUILD_ARGUMENTS="--no-fallback" |
أضف شهادات CA إلى مخزن ثقة النظام في وقت الإنشاء والتشغيل. | راجع كيفية تكوين تكامل APM وشهادات CA. | غير قابل للتطبيق. | غير قابل للتطبيق. |
تمكين تكوين التسميات على الصورة التي تم إنشاؤها | تكوين كل من التسميات المحددة من OCI بأسماء متغيرات بيئة قصيرة وتسميات عشوائية باستخدام بناء جملة محددة بمسافة في متغير بيئة واحد. | BP_IMAGE_LABELS BP_OCI_AUTHORS راجع المزيد من متغيرات البيئة هنا. |
--build-env BP_OCI_AUTHORS=<value> |
دعم بناء التطبيقات المستندة إلى Maven من المصدر. | يستخدم لمشروع متعدد الوحدات النمطية. يشير إلى الوحدة النمطية للعثور على البيانات الاصطناعية للتطبيق. الإعدادات الافتراضية للوحدة النمطية الجذر (فارغة). | BP_MAVEN_BUILT_MODULE |
--build-env BP_MAVEN_BUILT_MODULE=./gateway |
هناك بعض القيود لصورة Java الأصلية. لمزيد من المعلومات، راجع قسم قيود صورة Java الأصلية .
توزيع تطبيقات PHP
buildpack لنشر تطبيقات PHP هي tanzu-buildpacks/php.
حزمة بناء Tanzu PHP متوافقة فقط مع مكدس نظام التشغيل الكامل. نوصي باستخدام منشئ مع Jammy Full
مكدس نظام التشغيل. لمزيد من المعلومات، راجع قسم توصيات مكدس نظام التشغيل.
يسرد الجدول التالي الميزات المدعومة في Azure Spring Apps:
وصف الميزة | تعليق | متغير البيئة | الاستخدام |
---|---|---|---|
حدد إصدار PHP. | تكوين إصدار PHP. مدعوم حاليا: PHP 8.1.*، و8.2 .*. القيمة الافتراضية هي 8.1.* | BP_PHP_VERSION |
--build-env BP_PHP_VERSION=8.0.* |
أضف شهادات CA إلى مخزن ثقة النظام في وقت الإنشاء والتشغيل. | راجع قسم Configure CA certificates for app builds and deployments في كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
التكامل مع Dynatrace و New Relic و App Dynamic APM agent. | راجع كيفية تكوين تكامل APM وشهادات CA. | غير متوفر | غير متوفر |
حدد خادم ويب. | خيارات الإعداد هي php-server وhttpd وninx. القيمة الافتراضية هي php-server. | BP_PHP_SERVER |
--build-env BP_PHP_SERVER=httpd |
تكوين دليل ويب. | عندما يكون خادم الويب HTTPD أو NGINX، يتم تعيين دليل الويب افتراضيا إلى htdocs. عندما يكون خادم الويب هو خادم PHP المضمن، يتم تعيين دليل الويب افتراضيا إلى /workspace. | BP_PHP_WEB_DIR |
--build-env BP_PHP_WEB_DIR=htdocs |