إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تستخدم Azure Container Apps حزم البناء لإنشاء صورة حاوية تلقائيا يمكنك استخدامها لنشر التعليمات البرمجية المصدر مباشرة إلى السحابة. للتحكم في تكوين الإصدار الخاص بك ، استخدم متغيرات البيئة لتخصيص أجزاء من البنية الخاصة بك مثل JDK و Maven و Tomcat. توضح لك المقالة التالية كيفية تكوين متغيرات البيئة لمساعدتك على التحكم في البنيات التي تنشئ حاوية لك تلقائيا.
متغيرات بيئة بناء Java المدعومة
تكوين JDK
تستخدم تطبيقات الحاوية Microsoft Build of OpenJDK لإنشاء التعليمات البرمجية المصدر وكبيئة وقت التشغيل. تدعم الخدمة أربعة إصدارات LTS JDK: 8 و 11 و 17 و 21.
بالنسبة لإنشاء التعليمات البرمجية المصدر، الإصدار الافتراضي هو JDK 17.
بالنسبة إلى إصدار ملف JAR، تتم قراءة إصدار JDK من موقع
META-INF\MANIFEST.MFالملف في JAR، ولكنه يستخدم الإصدار 17 من JDK الافتراضي إذا لم يكن الإصدار المحدد متوفرا.
فيما يلي قائمة بمتغيرات البيئة التي يمكنك استخدامها لتكوين JDK:
| متغير البيئة | الوصف | الإعداد الافتراضي |
|---|---|---|
BP_JVM_VERSION |
يتحكم في إصدار JVM. | 17 |
تكوين Maven
تدعم تطبيقات الحاوية إنشاء تطبيقات مستندة إلى Maven من المصدر.
فيما يلي قائمة بمتغيرات البيئة التي يمكنك استخدامها لتكوين Maven:
| بناء متغير البيئة | الوصف | الإعداد الافتراضي |
|---|---|---|
BP_MAVEN_VERSION |
تعيين إصدار Maven الرئيسي. نظرا لأن Buildpacks تشحن إصدارا واحدا فقط من كل سطر مدعوم، يمكن لتحديثات buildpack تغيير الإصدار الدقيق من Maven المثبت. إذا كنت بحاجة إلى إصدار ثانوي أو تصحيح معين من Maven ، فاستخدم غلاف Maven بدلا من ذلك. | 3 |
BP_MAVEN_BUILD_ARGUMENTS |
تعريف الوسيطات التي تم تمريرها إلى Maven. تتم إضافة الوسيطة --batch-mode إلى قائمة الوسيطات في البيئات التي لا تحتوي على TTY. |
-Dmaven.test.skip=true --no-transfer-progress package |
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS |
تعريف الوسيطات الإضافية المستخدمة (على سبيل المثال، -DskipJavadoc ملحقة ب BP_MAVEN_BUILD_ARGUMENTS) لتمريرها إلى Maven. |
|
BP_MAVEN_ACTIVE_PROFILES |
قائمة مفصولة بفواصل من ملفات التعريف النشطة التي تم تمريرها إلى Maven. | |
BP_MAVEN_BUILT_MODULE |
تعيين أداة التطبيق التي تحتوي على الوحدة النمطية. بشكل افتراضي، يبدو البناء في الوحدة النمطية الجذر. | |
BP_MAVEN_BUILT_ARTIFACT |
موقع البيانات الاصطناعية للتطبيق المضمن. تحل هذه القيمة محل BP_MAVEN_BUILT_MODULE المتغير. يمكنك مطابقة ملف واحد أو ملفات متعددة أو دليل من خلال نمط مفصول بمسافة واحدة أو أكثر. |
target/*.[ejw]ar |
BP_MAVEN_POM_FILE |
تحديد موقع مخصص لملف pom.xml الخاص بالمشروع. هذه القيمة نسبة إلى جذر المشروع (على سبيل المثال، /workspace). | pom.xml |
BP_MAVEN_DAEMON_ENABLED |
تشغيل تثبيت وتكوين Apache maven-mvnd بدلا من Maven. قم بتعيين هذه القيمة إلى true إذا كنت تريد استخدام Maven Daemon. |
false |
BP_MAVEN_SETTINGS_PATH |
تحديد موقع مخصص لملف settings.xml Maven. | |
BP_INCLUDE_FILES |
قائمة مفصولة بفواصل من أنماط glob لمطابقة ملفات المصدر. يتم الاحتفاظ بأي ملف متطابق في الصورة النهائية. | |
BP_EXCLUDE_FILES |
قائمة مفصولة بفواصل من أنماط glob لمطابقة ملفات المصدر. تتم إزالة أي ملف متطابق من الصورة النهائية. يتم تطبيق أي أنماط تضمين أولا، ويمكنك استخدام "استبعاد الأنماط" لتقليل الملفات المضمنة في البنية. | |
BP_JAVA_INSTALL_NODE |
التحكم فيما إذا كانت Buildpack منفصلة تقوم بتثبيت Yarn Node.js أم لا. إذا تم تعيينه إلى true، يتحقق Buildpack من جذر التطبيق أو المسار الذي تم تعيينه بواسطة BP_NODE_PROJECT_PATH. يبحث مسار المشروع عن ملف yarn.lock ، والذي يتطلب تثبيت Yarn Node.js. إذا كان هناك ملف package.json ، فإن البنية تتطلب Node.js فقط. |
false |
BP_NODE_PROJECT_PATH |
توجيه الدليل الفرعي للمشروع للبحث عن ملفات package.json وyrn.lock. |
تكوين Tomcat
تدعم تطبيقات الحاوية تشغيل ملف WAR في خادم تطبيق Tomcat.
فيما يلي قائمة بمتغيرات البيئة التي يمكنك استخدامها لتكوين Tomcat:
| بناء متغير البيئة | الوصف | الإعداد الافتراضي |
|---|---|---|
BP_TOMCAT_CONTEXT_PATH |
مسار السياق حيث يتم تحميل التطبيق. | الإعدادات الافتراضية إلى فارغة (ROOT) |
BP_TOMCAT_EXT_CONF_SHA256 |
تجزئة SHA256 لحزمة التكوين الخارجية. | |
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED |
عند التعيين إلى true، لا يقوم Buildpack بتكوين org.apache.tomcat.util.digester.EnvironmentPropertySource. تتم إضافة خيار التكوين هذا لدعم تحميل التكوين من متغيرات البيئة والإشارة إليها في ملفات تكوين Tomcat. |
|
BP_TOMCAT_EXT_CONF_STRIP |
عدد مستويات الدليل المراد تجريدها من حزمة التكوين الخارجية. | 0 |
BP_TOMCAT_EXT_CONF_URI |
تنزيل URI لحزمة التكوين الخارجية. | |
BP_TOMCAT_EXT_CONF_VERSION |
إصدار حزمة التكوين الخارجية. | |
BP_TOMCAT_VERSION |
يستخدم لتكوين إصدار Tomcat معين. تتضمن إصدارات Tomcat المدعومة 8 و9 و10. | 9.* |
تكوين خدمة Cloud Build
فيما يلي قائمة بمتغيرات البيئة التي يمكنك استخدامها لتكوين خدمة إنشاء السحابة:
| بناء متغير البيئة | الوصف | الإعداد الافتراضي |
|---|---|---|
ORYX_DISABLE_TELEMETRY |
يتحكم في ما إذا كان يجب تعطيل مجموعة بيانات تتبع الاستخدام أم لا. | false |
كيفية تكوين متغيرات بيئة بناء Java
إشعار
لتشغيل أوامر CLI التالية، استخدم إصدار 0.3.47 ملحق Container Apps أو أعلى.
az extension add --name containerapp --upgrade --allow-preview استخدم الأمر لتثبيت أحدث إصدار.
يمكنك تكوين متغيرات بيئة إنشاء Java عند نشر التعليمات البرمجية المصدر لتطبيق Java باستخدام أوامر az containerapp upCLI ، az containerapp createأو az containerapp update:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--source <SOURCE_DIRECTORY> \
--build-env-vars <NAME=VALUE NAME=VALUE> \
--resource-group <RESOURCE_GROUP_NAME> \
--environment <ENVIRONMENT_NAME>
الوسيطة build-env-vars عبارة عن قائمة بمتغيرات البيئة للبناء، مع قيم مفصولة بمسافة في key=value التنسيق. فيما يلي مثال على قائمة يمكنك تمريرها كمتغيرات:
BP_JVM_VERSION=21 BP_MAVEN_VERSION=4 "BP_MAVEN_BUILD_ARGUMENTS=-Dmaven.test.skip=true --no-transfer-progress package"
يمكنك أيضا تكوين متغيرات بيئة بناء Java عند إعداد إجراءات GitHub باستخدام Azure CLI في Azure Container Apps.
az containerapp github-action add \
--repo-url "https://github.com/<OWNER>/<REPOSITORY_NAME>" \
--build-env-vars <NAME=VALUE NAME=VALUE> \
--branch <BRANCH_NAME> \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--registry-url <URL_TO_CONTAINER_REGISTRY> \
--registry-username <REGISTRY_USER_NAME> \
--registry-password <REGISTRY_PASSWORD> \
--service-principal-client-id <appId> \
--service-principal-client-secret <password> \
--service-principal-tenant-id <tenant> \
--token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>