مشاركة عبر


إنشاء متغيرات البيئة ل Java في Azure Container Apps (معاينة)

تستخدم 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>

الخطوات التالية