Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Container-Apps verwenden Buildpacks , um automatisch ein Containerimage zu erstellen, mit dem Sie Ihren Quellcode direkt in der Cloud bereitstellen können. Um die Kontrolle über die Buildkonfiguration zu übernehmen, verwenden Sie Umgebungsvariablen, um Teile Ihres Builds wie JDK, Maven und Tomcat anzupassen. Im folgenden Artikel erfahren Sie, wie Sie Umgebungsvariablen konfigurieren, um die Kontrolle über Builds zu übernehmen, die automatisch einen Container für Sie erstellen.
Unterstützte Java-Buildumgebungsvariablen
Konfigurieren von JDK
Container Apps verwendet Microsoft Build von OpenJDK zum Erstellen von Quellcode und als Laufzeitumgebung. Der Dienst unterstützt vier LTS JDK-Versionen: 8, 11, 17 und 21.
Für die Erstellung von Quellcode ist die Standardversion JDK 17.
Bei einem JAR-Dateibuild wird die JDK-Version aus dem Dateispeicherort
META-INF\MANIFEST.MFim JAR gelesen, aber die Standard-JDK-Version 17 verwendet, wenn die angegebene Version nicht verfügbar ist.
Hier ist eine Liste der Umgebungsvariablen, die Sie zum Konfigurieren von JDK verwenden können:
| Umgebungsvariable | Beschreibung | Standard |
|---|---|---|
BP_JVM_VERSION |
Steuert die JVM-Version. | 17 |
Konfigurieren von Maven
Container Apps unterstützt das Erstellen von Maven-basierten Anwendungen aus Quellcode.
Hier ist eine Liste der Umgebungsvariablen, die Sie zum Konfigurieren von Maven verwenden können:
| Buildumgebungsvariable | Beschreibung | Standard |
|---|---|---|
BP_MAVEN_VERSION |
Legt die Hauptversion von Maven fest. Da Buildpacks nur eine einzelne Version jeder unterstützten Zeile enthält, können Updates für das Buildpack die genaue installierte Maven-Version ändern. Wenn Sie eine bestimmte Neben- oder Patchversion von Maven benötigen, verwenden Sie stattdessen den Maven-Wrapper. | 3 |
BP_MAVEN_BUILD_ARGUMENTS |
Definiert die Argumente, die an Maven übergeben werden. Das --batch-mode Argument wird der Argumentliste in Umgebungen ohne TTY hinzugefügt. |
-Dmaven.test.skip=true --no-transfer-progress package |
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS |
Definiert zusätzliche verwendete Argumente (z. B. -DskipJavadoc an BP_MAVEN_BUILD_ARGUMENTS angefügt), die an Maven übergeben werden sollen. |
|
BP_MAVEN_ACTIVE_PROFILES |
Kommagetrennte Liste der aktiven Profile, die an Maven übergeben werden. | |
BP_MAVEN_BUILT_MODULE |
Legt das Anwendungsartefakt fest, das das Modul enthält. Standardmäßig sucht der Build im Stammmodul. | |
BP_MAVEN_BUILT_ARTIFACT |
Speicherort des erstellten Anwendungsartefakts. Dieser Wert ersetzt die BP_MAVEN_BUILT_MODULE-Variable. Sie können eine einzelne Datei, mehrere Dateien oder ein Verzeichnis mit einem oder mehreren durch Leerzeichen getrennte Muster abgleichen. |
target/*.[ejw]ar |
BP_MAVEN_POM_FILE |
Gibt einen benutzerdefinierten Speicherort für die pom.xml-Datei des Projekts an. Dieser Wert ist relativ zum Stamm des Projekts (z. B. /workspace). | pom.xml |
BP_MAVEN_DAEMON_ENABLED |
Löst die Installation und Konfiguration von Apache maven-mvnd anstelle von Maven aus. Legen Sie diesen Wert fest, true wenn Sie den Maven Daemon verwenden möchten. |
false |
BP_MAVEN_SETTINGS_PATH |
Gibt einen benutzerdefinierten Speicherort für die settings.xml-Datei von Maven an. | |
BP_INCLUDE_FILES |
Durch Doppelpunkt getrennte Liste von Globmustern zum Abgleichen mit Quelldateien. Jede übereinstimmende Datei wird im endgültigen Image beibehalten. | |
BP_EXCLUDE_FILES |
Durch Doppelpunkt getrennte Liste von Globmustern zum Abgleichen mit Quelldateien. Jede übereinstimmende Datei wird im endgültigen Image entfernt. Alle einschließenden Muster werden zuerst angewendet, und Sie können „Ausschlussmuster“ verwenden, um die Anzahl der im Build enthaltenen Dateien zu reduzieren. | |
BP_JAVA_INSTALL_NODE |
Steuert, ob ein separates Buildpack Yarn und Node.js installiert. Wenn dieser Wert auf true festgelegt ist, überprüft das Buildpack den durch BP_NODE_PROJECT_PATH festgelegten App-Stamm oder Pfad. Der Projektpfad sucht nach einer yarn.lock-Datei, die die Installation von Yarn und Node.js erfordert. Wenn eine package.json-Datei vorhanden ist, ist für den Build nur Node.js erforderlich. |
false |
BP_NODE_PROJECT_PATH |
Gibt das Projektunterverzeichnis an, in dem nach package.json- und yarn.lock-Dateien gesucht werden soll. |
Konfigurieren von Tomcat
Container-Apps unterstützen das Ausführen einer WAR-Datei auf dem Tomcat-Anwendungsserver.
Hier ist eine Liste der Umgebungsvariablen, die Sie zum Konfigurieren von Tomcat verwenden können:
| Buildumgebungsvariable | Beschreibung | Standard |
|---|---|---|
BP_TOMCAT_CONTEXT_PATH |
Der Kontextpfad, über den die Anwendung bereitgestellt wird. | Ist standardmäßig leer (ROOT). |
BP_TOMCAT_EXT_CONF_SHA256 |
Der SHA256-Hash des externen Konfigurationspakets. | |
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED |
Bei Festlegung auf true konfiguriert das Buildpack org.apache.tomcat.util.digester.EnvironmentPropertySource nicht. Diese Konfigurationsoption wird hinzugefügt, um das Laden der Konfiguration aus Umgebungsvariablen und das Verweisen darauf in Tomcat-Konfigurationsdateien zu unterstützen. |
|
BP_TOMCAT_EXT_CONF_STRIP |
Die Anzahl der Verzeichnisebenen, die aus dem externen Konfigurationspaket entfernt werden sollen. | 0 |
BP_TOMCAT_EXT_CONF_URI |
Der Download-URI des externen Konfigurationspakets. | |
BP_TOMCAT_EXT_CONF_VERSION |
Die Version des externen Konfigurationspakets. | |
BP_TOMCAT_VERSION |
Wird verwendet, um eine bestimmte Tomcat-Version zu konfigurieren. Unterstützte Tomcat-Versionen sind 8, 9 und 10. | 9.* |
Konfigurieren eines Cloudbuilddiensts
Hier ist eine Liste der Umgebungsvariablen, die Sie zum Konfigurieren eines Cloud Build Service verwenden können:
| Buildumgebungsvariable | Beschreibung | Standard |
|---|---|---|
ORYX_DISABLE_TELEMETRY |
Steuert, ob die Telemetrieerfassung deaktiviert werden soll. | false |
Konfigurieren von Java-Buildumgebungsvariablen
Hinweis
Verwenden Sie die Container-Apps-Erweiterungsversion 0.3.47 oder höher, um die folgenden CLI-Befehle auszuführen. Installieren Sie mit dem Befehl az extension add --name containerapp --upgrade --allow-preview die aktuelle Version.
Sie können Variablen der Java-Build-Umgebung konfigurieren, wenn Sie Java-Anwendungsquellcode mithilfe der CLI-Befehle az containerapp up, az containerapp create oder az containerapp update bereitstellen.
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>
Das build-env-vars Argument ist eine Liste von Umgebungsvariablen für den Build mit durch Leerzeichen getrennten Werten im key=value Format. Hier ist eine Beispielliste, die Sie als Variablen übergeben können:
BP_JVM_VERSION=21 BP_MAVEN_VERSION=4 "BP_MAVEN_BUILD_ARGUMENTS=-Dmaven.test.skip=true --no-transfer-progress package"
Sie können die Java-Buildumgebungsvariablen auch konfigurieren, wenn Sie GitHub Actions mit Azure CLI in Azure Container Apps einrichten.
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>