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 true nastavená 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 create
nebo 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>