Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Azure Container Apps utilise Buildpacks pour créer automatiquement une image conteneur que vous pouvez utiliser pour déployer votre code source directement dans le cloud. Pour prendre le contrôle de votre configuration de build, utilisez des variables d’environnement pour personnaliser des parties de votre build comme le JDK, Maven et Tomcat. L’article suivant explique comment configurer des variables d’environnement pour vous aider à prendre le contrôle des builds qui créent automatiquement un conteneur pour vous.
Variables d’environnement de build Java prises en charge
Configurer JDK
Container Apps utilise Microsoft Build d’OpenJDK pour générer du code source et comme environnement d’exécution. Le service prend en charge quatre versions JDK LTS : 8, 11, 17 et 21.
Pour la génération de code source, la version par défaut est JDK 17.
Pour générer un fichier JAR, la version JDK est lue depuis l’emplacement
META-INF\MANIFEST.MFdu fichier dans le fichier JAR, mais utilise la version par défaut JDK 17 si la version spécifiée n’est pas disponible.
Voici une liste des variables d’environnement que vous pouvez utiliser pour configurer JDK :
| Variable d’environnement | Description | Default |
|---|---|---|
BP_JVM_VERSION |
Contrôle la version de JVM. | 17 |
Configurer Maven
Container Apps prend en charge la création d’applications basées sur Maven à partir de la source.
Voici une liste des variables d’environnement que vous pouvez utiliser pour configurer Maven :
| Variable d’environnement de build | Description | Default |
|---|---|---|
BP_MAVEN_VERSION |
Définit la version principale de Maven. Buildpacks ne fournit qu’une seule version de chaque ligne prise en charge, ainsi les mises à jour du Buildpack peuvent modifier la version exacte de Maven installée. Si vous avez besoin d’une version mineure ou corrective spécifique de Maven, utilisez plutôt le wrapper Maven. | 3 |
BP_MAVEN_BUILD_ARGUMENTS |
Définit les arguments transmis à Maven. L’argument --batch-mode est ajouté à la liste d’arguments dans les environnements sans TTY. |
-Dmaven.test.skip=true --no-transfer-progress package |
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS |
Définit des arguments supplémentaires utilisés (par exemple, -DskipJavadoc ajoutés à BP_MAVEN_BUILD_ARGUMENTS) à transmettre à Maven. |
|
BP_MAVEN_ACTIVE_PROFILES |
Liste séparée par des virgules des profils actifs transmis à Maven. | |
BP_MAVEN_BUILT_MODULE |
Désigne l’artefact d’application qui contient le module. Par défaut, le build recherche dans le module racine. | |
BP_MAVEN_BUILT_ARTIFACT |
Emplacement de l’artefact d’application créée. Cette valeur remplace la variable BP_MAVEN_BUILT_MODULE. Vous pouvez faire correspondre un seul fichier, plusieurs fichiers ou un répertoire par le biais d’un ou plusieurs modèles séparés par des espaces. |
target/*.[ejw]ar |
BP_MAVEN_POM_FILE |
Spécifie un emplacement personnalisé dans le fichier pom.xml du projet. Cette valeur est relative à la racine du projet (par exemple, /workspace). | pom.xml |
BP_MAVEN_DAEMON_ENABLED |
Déclenche l’installation et la configuration d’Apache maven-mvnd au lieu de Maven. Définissez cette valeur true si vous souhaitez utiliser le démon Maven. |
false |
BP_MAVEN_SETTINGS_PATH |
Spécifie un emplacement personnalisé dans le fichier settings.xml de Maven. | |
BP_INCLUDE_FILES |
Liste séparée par des deux-points des modèles Glob à faire correspondre aux fichiers sources. Tout fichier mis en correspondance est conservé dans l’image finale. | |
BP_EXCLUDE_FILES |
Liste séparée par des deux-points des modèles Glob à faire correspondre aux fichiers sources. Tout fichier mis en correspondance est supprimé de l’image finale. Tous les modèles d’inclusion (Include) sont appliqués en premier, et vous pouvez utiliser des « modèles d’exclusion (Exclude) » pour réduire les fichiers inclus dans le build. | |
BP_JAVA_INSTALL_NODE |
Vérifiez si un Buildpack distinct installe Yarn et Node.js. Si la valeur est définie sur true, le Buildpack vérifie la racine ou le chemin d’accès de l’application défini par BP_NODE_PROJECT_PATH. Le chemin du projet recherche un fichier yarn.lock, qui nécessite l’installation de Yarn et de Node.js. S’il existe un fichier package.json, le build requiert uniquement Node.js. |
false |
BP_NODE_PROJECT_PATH |
Envoyez des instructions au sous-répertoire du projet pour qu’il recherche des fichiers package.json et yarn.lock. |
Configurer Tomcat
Container Apps prend en charge l’exécution d’un fichier WAR dans le serveur d’applications Tomcat.
Voici une liste des variables d’environnement que vous pouvez utiliser pour configurer Tomcat :
| Variable d’environnement de build | Description | Default |
|---|---|---|
BP_TOMCAT_CONTEXT_PATH |
Chemin d’accès du contexte dans lequel l’application est montée. | Vide par défaut (ROOT) |
BP_TOMCAT_EXT_CONF_SHA256 |
Hachage SHA256 du package de configuration externe. | |
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED |
Quand la valeur est définie sur true, le Buildpack ne configure pas org.apache.tomcat.util.digester.EnvironmentPropertySource. Cette option de configuration est ajoutée pour prendre en charge le chargement de la configuration à partir de variables d’environnement et le référencement de ces dernières dans les fichiers de configuration Tomcat. |
|
BP_TOMCAT_EXT_CONF_STRIP |
Nombre de niveaux de répertoires à supprimer du package de configuration externe. | 0 |
BP_TOMCAT_EXT_CONF_URI |
URI de téléchargement du package de configuration externe. | |
BP_TOMCAT_EXT_CONF_VERSION |
Version du package de configuration externe. | |
BP_TOMCAT_VERSION |
Utilisé pour configurer une version spécifique de Tomcat. Les versions de Tomcat prises en charge incluent les suivantes : 8, 9 et 10. | 9.* |
Configurer le service de génération cloud
Voici une liste des variables d’environnement que vous pouvez utiliser pour configurer un service de build cloud :
| Variable d’environnement de build | Description | Default |
|---|---|---|
ORYX_DISABLE_TELEMETRY |
Contrôle si la collecte de données de télémétrie doit être désactivée. | false |
Comment configurer des variables d’environnement de build Java
Remarque
Pour exécuter les commandes CLI suivantes, utilisez la version de l’extension Container Apps 0.3.47 ou ultérieure. Utilisez la commande az extension add --name containerapp --upgrade --allow-preview pour installer la dernière version.
Vous pouvez configurer des variables d’environnement de génération Java lorsque vous déployez du code source de l’application Java à l’aide des commandes az containerapp upCLI , az containerapp createou 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>
L’argument build-env-vars est une liste de variables d’environnement pour la compilation, avec des valeurs séparées par des espaces au format key=value. Voici un exemple de liste que vous pouvez transmettre en tant que variables :
BP_JVM_VERSION=21 BP_MAVEN_VERSION=4 "BP_MAVEN_BUILD_ARGUMENTS=-Dmaven.test.skip=true --no-transfer-progress package"
Vous pouvez également configurer les variables d’environnement de build Java lorsque vous configurez GitHub Actions à l’aide d’Azure CLI dans 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>