Sdílet prostřednictvím


Vytváření proměnných prostředí pro Javu v Azure Container Apps (Preview)

Azure Container Apps používá buildpacky k automatickému vytvoření image kontejneru, která umožňuje nasazení ze zdrojového kódu přímo do cloudu. Pokud chcete převzít kontrolu nad konfigurací sestavení, můžete pomocí proměnných prostředí přizpůsobit části sestavení, jako jsou sady JDK, Maven a Tomcat. Následující článek ukazuje, jak nakonfigurovat proměnné prostředí, které vám pomůžou převzít kontrolu nad sestaveními, které automaticky vytvoří kontejner za vás.

Podporované proměnné prostředí sestavení Java

Konfigurace sady JDK

Container Apps používá Microsoft Build openJDK k sestavení zdrojového kódu a jako běhového prostředí. Podporují se čtyři verze LTS JDK: 8, 11, 17 a 21.

  • Pro sestavení zdrojového kódu je výchozí verze JDK 17.

  • Pro sestavení souboru JAR se verze sady JDK načte z umístění META-INF\MANIFEST.MF souboru v souboru JAR, ale pokud zadaná verze není dostupná, použije výchozí sadu JDK verze 17.

Tady je seznam proměnných prostředí použitých ke konfiguraci sady JDK:

Proměnná prostředí Popis Výchozí
BP_JVM_VERSION Řídí verzi prostředí JVM. 17

Konfigurace Mavenu

Container Apps podporuje vytváření aplikací založených na Mavenu ze zdroje.

Tady je seznam proměnných prostředí použitých ke konfiguraci Mavenu:

Sestavení proměnné prostředí Popis Výchozí
BP_MAVEN_VERSION Nastaví hlavní verzi Mavenu. Vzhledem k tomu, že Buildpacky dodává pouze jednu verzi každého podporovaného řádku, aktualizace buildpacku můžou změnit přesnou verzi Nainstalovaného Mavenu. Pokud požadujete konkrétní podverzi/opravu Mavenu, použijte místo toho obálku Maven. 3
BP_MAVEN_BUILD_ARGUMENTS Definuje argumenty předané Mavenu. Před --batch-mode seznamem argumentů v prostředích bez TTY se předsadí. -Dmaven.test.skip=true --no-transfer-progress package
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS Definuje další použité argumenty (například -DskipJavadoc připojené k BP_MAVEN_BUILD_ARGUMENTS) pro předání Mavenu.
BP_MAVEN_ACTIVE_PROFILES Čárkami oddělený seznam aktivních profilů předaných Mavenu.
BP_MAVEN_BUILT_MODULE Určuje artefakt aplikace, který obsahuje modul. Ve výchozím nastavení sestavení vypadá v kořenovém modulu.
BP_MAVEN_BUILT_ARTIFACT Umístění vytvořeného artefaktu aplikace Tato hodnota nahrazuje proměnnou BP_MAVEN_BUILT_MODULE . Jeden soubor, více souborů nebo adresář můžete spárovat pomocí jednoho nebo více vzorů oddělených mezerami. target/*.[ejw]ar
BP_MAVEN_POM_FILE Určuje vlastní umístění souboru pom.xml projektu. Tato hodnota je relativní vzhledem ke kořenovému adresáři projektu (například /workspace). pom.xml
BP_MAVEN_DAEMON_ENABLED Aktivuje instalaci a konfiguraci Apache maven-mvnd místo Mavenu. Tuto hodnotu nastavte, true pokud chcete démon Maven. false
BP_MAVEN_SETTINGS_PATH Určuje vlastní umístění do souboru settings.xml Mavenu.
BP_INCLUDE_FILES Dvojtečka oddělený seznam vzorů globů, aby odpovídal zdrojovým souborům. Všechny odpovídající soubory se zachovají v konečném obrázku.
BP_EXCLUDE_FILES Dvojtečka oddělený seznam vzorů globů, aby odpovídal zdrojovým souborům. Z konečného obrázku se odeberou všechny odpovídající soubory. Jako první se použijí vzory zahrnutí a pomocí vzorů vyloučení zmenšete soubory zahrnuté v sestavení.
BP_JAVA_INSTALL_NODE Určuje, jestli samostatný buildpack nainstaluje Yarn a Node.js. Pokud je nastavená hodnota true, buildpack zkontroluje kořen aplikace nebo cestu nastavenou pomocí BP_NODE_PROJECT_PATH. Cesta k projektu hledá soubor yarn.lock , který vyžaduje instalaci Yarn a Node.js. Pokud je soubor package.json , sestavení vyžaduje jenom Node.js. false
BP_NODE_PROJECT_PATH Nasměrujte podadresář projektu tak, aby hledal soubory package.json a yarn.lock .

Konfigurace Tomcatu

Container Apps podporuje spouštění souboru war na aplikačním serveru Tomcat.

Tady je seznam proměnných prostředí použitých ke konfiguraci Tomcatu:

Sestavení proměnné prostředí Popis Výchozí
BP_TOMCAT_CONTEXT_PATH Kontextová cesta, ve které je aplikace připojená. Výchozí hodnota je prázdná (ROOT)
BP_TOMCAT_EXT_CONF_SHA256 Hodnota hash SHA256 externího konfiguračního balíčku.
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED Pokud je truenastavená hodnota , buildpack se nenakonfiguruje org.apache.tomcat.util.digester.EnvironmentPropertySource. Tato možnost konfigurace se přidá pro podporu načítání konfigurace z proměnných prostředí a odkazování na ně v konfiguračních souborech Tomcat.
BP_TOMCAT_EXT_CONF_STRIP Početúrovních 0
BP_TOMCAT_EXT_CONF_URI Identifikátor URI stahování externího konfiguračního balíčku.
BP_TOMCAT_EXT_CONF_VERSION Verze externího konfiguračního balíčku.
BP_TOMCAT_VERSION Slouží ke konfiguraci konkrétní verze Tomcat. Podporované verze Tomcat zahrnují 8, 9 a 10. 9.*

Konfigurace cloudové služby sestavení

Tady je seznam proměnných prostředí použitých ke konfiguraci cloudové služby sestavení:

Sestavení proměnné prostředí Popis Výchozí
ORYX_DISABLE_TELEMETRY Určuje, jestli se má zakázat shromažďování telemetrických dat. false

Konfigurace proměnných prostředí sestavení Java

Poznámka:

Pokud chcete spustit následující příkazy rozhraní příkazového řádku, použijte verzi 0.3.47 rozšíření Container Apps nebo vyšší. az extension add --name containerapp --upgrade --allow-preview Pomocí příkazu nainstalujte nejnovější verzi.

Proměnné prostředí sestavení Java můžete nakonfigurovat při nasazování zdrojového kódu aplikace v Javě pomocí příkazu rozhraní příkazového řádku az containerapp up, az containerapp createnebo 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>

Argument build-env-vars je seznam proměnných prostředí pro hodnoty oddělené mezerami ve key=value formátu sestavení. Tady je ukázkový seznam, který můžete předat jako proměnné:

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

Proměnné prostředí sestavení Java můžete nakonfigurovat také při nastavování GitHub Actions pomocí Azure CLI v 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>

Další kroky