Megosztás a következőn keresztül:


Környezeti változók létrehozása Java-hoz az Azure Container Appsben (előzetes verzió)

Az Azure Container Apps a Buildpacks használatával automatikusan létrehoz egy tárolórendszerképet, amellyel közvetlenül a felhőben helyezheti üzembe a forráskódot. A buildkonfiguráció irányításához használjon környezeti változókat a build olyan részeinek testreszabásához, mint a JDK, a Maven és a Tomcat. Az alábbi cikk bemutatja, hogyan konfigurálhat környezeti változókat, hogy könnyebben átvehesse az irányítást az olyan buildek felett, amelyek automatikusan létrehoznak egy tárolót.

Támogatott Java buildkörnyezeti változók

JDK konfigurálása

A Container Apps az OpenJDK Microsoft Buildjét használja a forráskód létrehozásához és futtatókörnyezetként. A szolgáltatás négy LTS JDK-verziót támogat: 8, 11, 17 és 21.

  • A forráskód összeállítása esetén az alapértelmezett verzió a JDK 17.

  • JAR-fájl build esetén a JDK-verzió beolvassa a JAR fájlhelyéről META-INF\MANIFEST.MF , de a JDK alapértelmezett 17-es verzióját használja, ha a megadott verzió nem érhető el.

Íme a JDK konfigurálásához használható környezeti változók listája:

Környezeti változó Leírás Alapértelmezett
BP_JVM_VERSION A JVM-verziót vezérli. 17

A Maven konfigurálása

A Container Apps támogatja a Maven-alapú alkalmazások forrásból történő létrehozását.

Íme a Maven konfigurálásához használható környezeti változók listája:

Környezeti változó létrehozása Leírás Alapértelmezett
BP_MAVEN_VERSION Beállítja a fő Maven-verziót. Mivel a Buildpacks csak az egyes támogatott sorok egyetlen verzióját szállítja, a buildcsomag frissítései módosíthatják a Telepített Maven pontos verzióját. Ha a Maven egy adott alverzióját vagy javításverzióját szeretné használni, használja helyette a Maven burkolót. 3
BP_MAVEN_BUILD_ARGUMENTS Meghatározza a Mavennek átadott argumentumokat. Az --batch-mode argumentum TTY nélküli környezetekben lesz hozzáadva az argumentumlistához. -Dmaven.test.skip=true --no-transfer-progress package
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS A Mavennek való továbbításhoz használt (például -DskipJavadoc hozzáfűzött BP_MAVEN_BUILD_ARGUMENTS) további argumentumokat határoz meg.
BP_MAVEN_ACTIVE_PROFILES A Mavennek átadott aktív profilok vesszővel tagolt listája.
BP_MAVEN_BUILT_MODULE A modult tartalmazó alkalmazásösszetevőt jelöli ki. Alapértelmezés szerint a build a gyökérmodulban néz ki.
BP_MAVEN_BUILT_ARTIFACT A beépített alkalmazásösszetevő helye. Ez az érték felülírja a változót BP_MAVEN_BUILT_MODULE . Egy fájl, több fájl vagy könyvtár egy vagy több szóközzel elválasztott mintán keresztül egyeztethető. target/*.[ejw]ar
BP_MAVEN_POM_FILE A projekt pom.xml fájljának egyéni helyét adja meg. Ez az érték a projekt gyökeréhez (például /munkaterülethez) viszonyítva van. pom.xml
BP_MAVEN_DAEMON_ENABLED A Maven helyett az Apache maven-mvnd telepítését és konfigurációját aktiválja. Állítsa be ezt az true értéket, ha a Maven Démont szeretné használni. false
BP_MAVEN_SETTINGS_PATH Megadja a Maven settings.xml fájljának egyéni helyét.
BP_INCLUDE_FILES A forrásfájloknak megfelelő globminták kettősponttal tagolt listája. Minden egyeztetett fájl megmarad a végső képen.
BP_EXCLUDE_FILES A forrásfájloknak megfelelő globminták kettősponttal tagolt listája. Minden egyeztetett fájl el lesz távolítva a végső lemezképből. A rendszer először alkalmazza a belefoglalási mintákat, és a "kizáró minták" használatával csökkentheti a buildben szereplő fájlokat.
BP_JAVA_INSTALL_NODE Szabályozhatja, hogy egy különálló Buildpack telepíti-e a Yarn-t és a Node.js. Ha be van trueállítva, a Buildpack ellenőrzi az alkalmazás gyökerét vagy elérési útját BP_NODE_PROJECT_PATH. A projektútvonal egy yarn.lock fájlt keres, amelyhez a Yarn és a Node.js telepítése szükséges. Ha van egy package.json fájl, akkor a build csak Node.js igényel. false
BP_NODE_PROJECT_PATH A projekt alkönyvtárának irányítása package.json és yarn.lock fájlok kereséséhez.

A Tomcat konfigurálása

A Container Apps támogatja a WAR-fájl futtatását a Tomcat alkalmazáskiszolgálón.

Íme a Tomcat konfigurálásához használható környezeti változók listája:

Környezeti változó létrehozása Leírás Alapértelmezett
BP_TOMCAT_CONTEXT_PATH A környezet elérési útja, amelyen az alkalmazás csatlakoztatva van. Alapértelmezés szerint üres (ROOT)
BP_TOMCAT_EXT_CONF_SHA256 A külső konfigurációs csomag SHA256 kivonata.
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED Ha be van trueállítva, a Buildpack nem konfigurálja org.apache.tomcat.util.digester.EnvironmentPropertySource. Ez a konfigurációs beállítás hozzáadva támogatja a környezeti változók konfigurációjának betöltését, és hivatkozik rájuk a Tomcat konfigurációs fájljaiban.
BP_TOMCAT_EXT_CONF_STRIP A külső konfigurációs csomagtól leválasztandó címtárszintek száma. 0
BP_TOMCAT_EXT_CONF_URI A külső konfigurációs csomag letöltési URI-ja.
BP_TOMCAT_EXT_CONF_VERSION A külső konfigurációs csomag verziója.
BP_TOMCAT_VERSION Egy adott Tomcat-verzió konfigurálására szolgál. A Tomcat támogatott verziói közé tartozik a 8, a 9 és a 10. verzió. 9.*

A Cloud Build Service konfigurálása

Íme a felhőalapú buildszolgáltatás konfigurálásához használható környezeti változók listája:

Környezeti változó létrehozása Leírás Alapértelmezett
ORYX_DISABLE_TELEMETRY Azt határozza meg, hogy tiltsa-e le a telemetriai gyűjteményt. false

Java buildkörnyezeti változók konfigurálása

Feljegyzés

A következő CLI-parancsok futtatásához használja a Container Apps bővítmény vagy újabb verzióját 0.3.47 . az extension add --name containerapp --upgrade --allow-preview A parancs használatával telepítse a legújabb verziót.

Java buildkörnyezeti változókat konfigurálhat a Java-alkalmazás forráskódjának üzembe helyezésekor a CLI-parancsokkal az containerapp up, az containerapp createvagy 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>

Az build-env-vars argumentum a build környezeti változóinak listája, a térközzel elválasztott értékek formátuma key=value . Íme egy példalista, amit változókként adhat át:

BP_JVM_VERSION=21 BP_MAVEN_VERSION=4 "BP_MAVEN_BUILD_ARGUMENTS=-Dmaven.test.skip=true --no-transfer-progress package"

A Java buildkörnyezet változóit akkor is konfigurálhatja, ha a GitHub Actionst az Azure CLI-vel állítja be az Azure Container Appsben.

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>

Következő lépések