Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Container Apps maakt gebruik van Buildpacks om automatisch een containerinstallatiekopieën te maken die u kunt gebruiken om uw broncode rechtstreeks in de cloud te implementeren. Als u de controle over uw buildconfiguratie wilt overnemen, gebruikt u omgevingsvariabelen om onderdelen van uw build aan te passen, zoals de JDK, Maven en Tomcat. In het volgende artikel wordt beschreven hoe u omgevingsvariabelen configureert om de controle over builds over te nemen die automatisch een container voor u maken.
Ondersteunde omgevingsvariabelen voor Java-build
JDK configureren
Container Apps gebruiken Microsoft Build van OpenJDK om broncode en als runtime-omgeving te bouwen. De service ondersteunt vier LTS JDK-versies: 8, 11, 17 en 21.
Voor broncodebuild is de standaardversie JDK 17.
Voor een JAR-bestandsbuild wordt de JDK-versie gelezen vanuit de bestandslocatie
META-INF\MANIFEST.MFin de JAR, maar wordt de standaard JDK-versie 17 gebruikt als de opgegeven versie niet beschikbaar is.
Hier volgt een overzicht van de omgevingsvariabelen die u kunt gebruiken om JDK te configureren:
| Omgevingsvariabele | Beschrijving | Standaard |
|---|---|---|
BP_JVM_VERSION |
Hiermee bepaalt u de JVM-versie. | 17 |
Maven configureren
Container Apps biedt ondersteuning voor het bouwen van op Maven gebaseerde toepassingen vanuit de bron.
Hier volgt een overzicht van de omgevingsvariabelen die u kunt gebruiken om Maven te configureren:
| Omgevingsvariabele bouwen | Beschrijving | Standaard |
|---|---|---|
BP_MAVEN_VERSION |
Hiermee stelt u de primaire Maven-versie in. Omdat Buildpacks slechts één versie van elke ondersteunde regel verzendt, kunnen updates van het buildpack de exacte versie van Maven wijzigen die is geïnstalleerd. Als u een specifieke secundaire of patchversie van Maven nodig hebt, gebruikt u in plaats daarvan de Maven-wrapper. | 3 |
BP_MAVEN_BUILD_ARGUMENTS |
Hiermee definieert u de argumenten die worden doorgegeven aan Maven. Het --batch-mode argument wordt toegevoegd aan de lijst met argumenten in omgevingen zonder een TTY. |
-Dmaven.test.skip=true --no-transfer-progress package |
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS |
Hiermee definieert u extra argumenten die worden gebruikt (bijvoorbeeld -DskipJavadoc toegevoegd aan BP_MAVEN_BUILD_ARGUMENTS) om aan Maven door te geven. |
|
BP_MAVEN_ACTIVE_PROFILES |
Door komma's gescheiden lijst met actieve profielen die worden doorgegeven aan Maven. | |
BP_MAVEN_BUILT_MODULE |
Hiermee wijst u toepassingsartefacten aan die de module bevatten. Standaard ziet de build er in de hoofdmodule uit. | |
BP_MAVEN_BUILT_ARTIFACT |
Locatie van het gemaakte toepassingsartefact. Deze waarde vervangt de BP_MAVEN_BUILT_MODULE variabele. U kunt één bestand, meerdere bestanden of een map vergelijken met een of meer door ruimte gescheiden patronen. |
target/*.[ejw]ar |
BP_MAVEN_POM_FILE |
Hiermee geeft u een aangepaste locatie op voor het pom.xml-bestand van het project. Deze waarde is relatief ten opzichte van de hoofdmap van het project (bijvoorbeeld /workspace). | pom.xml |
BP_MAVEN_DAEMON_ENABLED |
Hiermee wordt de installatie en configuratie van Apache maven-mvnd geactiveerd in plaats van Maven. Stel deze waarde in op true als u de Maven-daemon wilt gebruiken. |
false |
BP_MAVEN_SETTINGS_PATH |
Hiermee geeft u een aangepaste locatie op naar het settings.xml-bestand van Maven. | |
BP_INCLUDE_FILES |
Door dubbele punt gescheiden lijst met glob-patronen die overeenkomen met bronbestanden. Elk overeenkomend bestand wordt bewaard in de uiteindelijke afbeelding. | |
BP_EXCLUDE_FILES |
Door dubbele punt gescheiden lijst met glob-patronen die overeenkomen met bronbestanden. Elk overeenkomend bestand wordt verwijderd uit de uiteindelijke afbeelding. Alle insluitingspatronen worden eerst toegepast en u kunt 'patronen uitsluiten' gebruiken om de bestanden in de build te verminderen. | |
BP_JAVA_INSTALL_NODE |
Bepalen of een afzonderlijk Buildpack Yarn en Node.js installeert. Als deze optie is ingesteld true, controleert buildpack de hoofdmap of het pad van de app dat is ingesteld door BP_NODE_PROJECT_PATH. Het projectpad zoekt naar een yarn.lock-bestand , waarvoor de installatie van Yarn en Node.js is vereist. Als er een package.json bestand is, is voor de build alleen Node.js vereist. |
false |
BP_NODE_PROJECT_PATH |
De submap van het project om te zoeken naar package.json- en yarn.lock-bestanden . |
Tomcat configureren
Container Apps ondersteunt het uitvoeren van een WAR-bestand op de Tomcat-toepassingsserver.
Hier volgt een overzicht van de omgevingsvariabelen die u kunt gebruiken om Tomcat te configureren:
| Omgevingsvariabele bouwen | Beschrijving | Standaard |
|---|---|---|
BP_TOMCAT_CONTEXT_PATH |
Het contextpad waar de toepassing is gekoppeld. | Standaardwaarden leeg (ROOT) |
BP_TOMCAT_EXT_CONF_SHA256 |
De SHA256-hash van het externe configuratiepakket. | |
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED |
Als deze instelling is ingesteld true, wordt het Buildpack niet geconfigureerd org.apache.tomcat.util.digester.EnvironmentPropertySource. Deze configuratieoptie wordt toegevoegd ter ondersteuning van het laden van de configuratie vanuit omgevingsvariabelen en deze te raadplegen in Tomcat-configuratiebestanden. |
|
BP_TOMCAT_EXT_CONF_STRIP |
Het aantal mapniveaus dat moet worden verwijderd uit het externe configuratiepakket. | 0 |
BP_TOMCAT_EXT_CONF_URI |
De download-URI van het externe configuratiepakket. | |
BP_TOMCAT_EXT_CONF_VERSION |
De versie van het externe configuratiepakket. | |
BP_TOMCAT_VERSION |
Wordt gebruikt om een specifieke Tomcat-versie te configureren. Ondersteunde Tomcat-versies zijn 8, 9 en 10. | 9.* |
Cloud Build Service configureren
Hier volgt een overzicht van de omgevingsvariabelen die u kunt gebruiken om een Cloud Build-service te configureren:
| Omgevingsvariabele bouwen | Beschrijving | Standaard |
|---|---|---|
ORYX_DISABLE_TELEMETRY |
Hiermee bepaalt u of telemetrieverzameling al dan niet moet worden uitgeschakeld. | false |
Omgevingsvariabelen voor Java-build configureren
Notitie
Als u de volgende CLI-opdrachten wilt uitvoeren, gebruikt u de extensieversie 0.3.47 van Container Apps of hoger. Gebruik de az extension add --name containerapp --upgrade --allow-preview opdracht om de nieuwste versie te installeren.
U kunt omgevingsvariabelen voor Java-build configureren wanneer u broncode voor Java-toepassingen implementeert met behulp van de CLI-opdrachten az containerapp up, az containerapp createof 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>
Het build-env-vars argument is een lijst met omgevingsvariabelen voor de build, met door spaties gescheiden waarden in key=value indeling. Hier volgt een voorbeeldlijst die u als variabelen kunt doorgeven:
BP_JVM_VERSION=21 BP_MAVEN_VERSION=4 "BP_MAVEN_BUILD_ARGUMENTS=-Dmaven.test.skip=true --no-transfer-progress package"
U kunt ook de java-omgevingsvariabelen configureren wanneer u GitHub Actions instelt met Azure CLI in 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>