Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article vous montre comment déployer votre code en tant que package ZIP, WAR, JAR ou EAR pour le Service d’application Azure . Il vous montre également comment déployer des fichiers individuels sur App Service, distincts de votre package d’application.
Prérequis
Pour effectuer les étapes de cet article, créez une application App Service ou utilisez une application créée pour un autre didacticiel.
Si vous ne disposez pas d’un compte Azure, créez-en un gratuitement avant de commencer.
Créer un package ZIP de projet
Important
Quand vous créez le package ZIP du déploiement, n’incluez pas le répertoire racine. Incluez uniquement les fichiers et répertoires dans le répertoire racine. Si vous téléchargez un référentiel GitHub en tant que fichier ZIP, vous ne pouvez pas déployer ce fichier tel quel dans App Service. GitHub ajoute des répertoires imbriqués au niveau supérieur, qui ne fonctionnent pas avec App Service.
Dans une fenêtre de terminal locale, accédez au répertoire racine de votre projet d’application.
Ce répertoire doit contenir le fichier d’entrée de votre application web, comme index.html
, index.php
, et app.js
. Il peut également contenir des fichiers de gestion de package tels que project.json
, , composer.json
package.json
, bower.json
, et requirements.txt
.
Si vous ne souhaitez pas qu’App Service exécute l’automatisation du déploiement pour vous, exécutez toutes les tâches de génération. Par exemple : npm
, , bower
, gulp
composer
, et pip
. Vérifiez que vous disposez de tous les fichiers dont vous avez besoin pour exécuter l’application. Cette étape est requise si vous souhaitez exécuter votre package directement.
Créez une archive ZIP contenant tous les éléments de votre projet. Pour les projets dotnet
, ajoutez tout ce qui se trouve dans le répertoire de sortie de la commande dotnet publish
, à l’exception du répertoire de sortie lui-même. Par exemple, entrez la commande suivante dans votre terminal pour créer un package ZIP qui inclut le contenu du répertoire actif :
# Bash
zip -r <file-name>.zip .
# PowerShell
Compress-Archive -Path * -DestinationPath <file-name>.zip
Déployer un package ZIP
Lorsque vous déployez un package ZIP, App Service décompresse son contenu dans le chemin d’accès par défaut de votre application : D:\home\site\wwwroot
pour Windows et /home/site/wwwroot
Linux.
Ce déploiement de package ZIP utilise le même service Kudu que celui qui pilote les déploiements continus basés sur l’intégration. Kudu prend en charge les fonctionnalités suivantes pour le déploiement de package ZIP :
- Suppression de fichiers laissés à partir d’un déploiement précédent
- Option permettant d’activer le processus de génération par défaut, qui inclut la restauration de package
- Personnalisation du déploiement, y compris l’exécution de scripts de déploiement
- Journaux de déploiement
- Limite de taille de package de 2 048 mégaoctets
Remarque
Les fichiers du package ZIP ne sont copiés que si leurs horodatages ne correspondent pas à ce qui est déjà déployé.
Déployer avec l’interface utilisateur de déploiement ZIP dans Kudu
- Ouvrez votre application dans le portail Azure et sélectionnez Outils de développement avancés, puis sélectionnez >.
- Dans Kudu, sélectionnez Tools>Zip Push Deploy.
- Chargez le package ZIP que vous avez créé dans Créer un package ZIP de projet. Faites-le glisser vers la zone de l’Explorateur de fichiers sur la page web.
Lorsque le déploiement est en cours, une icône dans le coin supérieur droit affiche le pourcentage de progression. La page affiche également des messages pour l’opération située sous la zone Explorateur de fichiers. Une fois le déploiement terminé, le dernier message doit indiquer « Déploiement réussi ».
Ce point de terminaison ne fonctionne pas pour App Service sur Linux pour l’instant. Envisagez plutôt d’utiliser FTP ou l’API de déploiement ZIP.
Déployer sans l'interface de déploiement ZIP dans Kudu
Déployez un package ZIP sur votre application web à l’aide de la az webapp deploy
commande. La commande CLI utilise l' API de publication Kudu pour déployer les fichiers et peut être entièrement personnalisée.
L’exemple suivant envoie un package ZIP sur votre site. Spécifiez le chemin d’accès à votre package ZIP local pour --src-path
.
az webapp deploy --resource-group <group-name> --name <app-name> --src-path <zip-package-path>
Cette commande redémarre l’application après le déploiement du package ZIP.
Activer l’automatisation de build pour le déploiement ZIP
Par défaut, le moteur de déploiement suppose qu’un package ZIP est prêt à s’exécuter en l’état et n’effectue aucune automatisation de build. Pour activer la même automatisation de build utilisée dans un déploiement Git, définissez le SCM_DO_BUILD_DURING_DEPLOYMENT
paramètre d’application. Exécutez la commande suivante dans Azure Cloud Shell :
az webapp config appsettings set --resource-group <group-name> --name <app-name> --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
Pour plus d’informations, consultez la documentation Kudu.
Déployer des packages WAR, JAR ou EAR
Vous pouvez déployer votre package WAR, JAR ou EAR sur App Service pour exécuter votre application web Java à l’aide de l’API de publication Azure CLI, PowerShell ou Kudu.
Le processus de déploiement présenté ici place le package sur le partage de contenu de l’application avec la convention d’affectation de noms et la structure d’annuaire appropriées. Pour plus d’informations, consultez Référence API de publication Kudu. Nous recommandons cette approche. Si vous déployez des packages WAR, JAR ou EAR à l’aide de FTP ou Web Deploy à la place, vous pouvez voir des échecs inconnus en raison d’erreurs dans le nommage ou la structure.
Déployez un package WAR sur Tomcat ou JBoss EAP à l’aide de la az webapp deploy
commande. Spécifiez le chemin d’accès à votre package Java local pour --src-path
.
az webapp deploy --resource-group <group-name> --name <app-name> --src-path ./<package-name>.war
La commande CLI utilise l' API de publication Kudu pour déployer le package et peut être entièrement personnalisée.
Déployer des fichiers individuels
Déployez un script de démarrage, une bibliothèque et un fichier statique sur votre application web à l’aide de la az webapp deploy
commande avec le --type
paramètre.
Si vous déployez un script de démarrage de cette manière, le Service d’application utilise automatiquement votre script pour démarrer votre application.
L’interface de ligne de commande utilise l’API de publication Kudu pour déployer les fichiers. La commande peut être entièrement personnalisée.
Utilisation d'un script de démarrage
az webapp deploy --resource-group <group-name> --name <app-name> --src-path scripts/startup.sh --type=startup
Déployer un fichier de bibliothèque
az webapp deploy --resource-group <group-name> --name <app-name> --src-path driver.jar --type=lib
Déployer un fichier statique
az webapp deploy --resource-group <group-name> --name <app-name> --src-path config.json --type=static
Déployer sur des applications protégées par le réseau
Selon la configuration réseau de votre application web, l’accès direct à l’application à partir de votre environnement de développement peut être bloqué. (Voir Déploiement sur des sites sécurisés par le réseau et déploiement sur des sites sécurisés par le réseau, partie 2.) Au lieu d’envoyer directement le package ou le fichier à l’application web, vous pouvez le publier sur un système de stockage accessible à partir de l’application web et déclencher l’application pour extraire le fichier ZIP à partir de l’emplacement de stockage.
L’URL distante peut être n’importe quel emplacement accessible publiquement, mais il est préférable d’utiliser un conteneur de stockage d’objets blob avec une clé de signature d’accès partagé (SAP) pour la protéger.
Utilisez la commande az webapp deploy
comme vous le feriez dans les autres sections, mais utilisez --src-url
plutôt que --src-path
. L’exemple suivant utilise le paramètre --src-url
pour spécifier l’URL d’un fichier Zip hébergé dans un compte de stockage Azure.
az webapp deploy --resource-group <group-name> --name <app-name> --src-url "https://storagesample.blob.core.windows.net/sample-container/myapp.zip?sv=2021-10-01&sb&sig=slk22f3UrS823n4kSh8Skjpa7Naj4CG3 --type zip
référence sur l’API de publication Kudu
L'API Kudu publish
vous permet de spécifier les mêmes paramètres depuis la commande CLI en tant que paramètres de requête d’URL. Pour vous authentifier avec l’API REST Kudu, nous vous recommandons l’authentification par jeton, mais vous pouvez également utiliser l’authentification de base avec les informations d’identification du déploiement de votre application.
Le tableau suivant présente les paramètres de requête disponibles, leurs valeurs autorisées et leurs descriptions.
Clé | Valeurs autorisées | Descriptif | Obligatoire | Catégorie |
---|---|---|---|---|
type |
war |jar |ear |lib |startup |static |zip |
Il s’agit du type de l’artefact en cours de déploiement. Il définit le chemin cible par défaut et informe l’application web de la façon dont le déploiement doit être géré. type=zip : Déployez un package ZIP en décompressant le contenu dans /home/site/wwwroot . Le paramètre target-path est facultatif. type=war : Déployer un package WAR. Par défaut, le package WAR est déployé sur /home/site/wwwroot/app.war . Le chemin d’accès cible peut être spécifié avec target-path . type=jar : Déployer un package JAR sur /home/site/wwwroot/app.jar . Le paramètre target-path est ignoré. type=ear : Déployer un package EAR sur /home/site/wwwroot/app.ear . Le paramètre target-path est ignoré. type=lib : Déployer un fichier de bibliothèque JAR. Par défaut, le fichier est déployé sur /home/site/libs . Le chemin d’accès cible peut être spécifié avec target-path . type=static : Déployez un fichier statique, tel qu’un script. Par défaut, le fichier est déployé sur /home/site/wwwroot . type=startup : Déployez un script que App Service utilise automatiquement comme script de démarrage pour votre application. Par défaut, le script est déployé sur D:\home\site\scripts\<name-of-source> pour Windows et home/site/wwwroot/startup.sh pour Linux. Le chemin d’accès cible peut être spécifié avec target-path . |
Oui | Chaîne |
restart |
true |false |
Par défaut, l’API redémarre l’application après l’opération de déploiement (restart=true ). Lorsque vous déployez plusieurs artefacts, vous pouvez empêcher les redémarrages sur tous les déploiements sauf le dernier en définissant restart=false . |
Non | Booléen |
clean |
true |false |
Spécifie s’il faut nettoyer (supprimer) le déploiement cible avant de déployer l’artefact ici. | Non | Booléen |
ignorestack |
true |false |
L’API de publication utilise la variable d’environnement WEBSITE_STACK pour choisir les valeurs par défaut sécurisées en fonction de la pile de langue de votre site. La définition de ce paramètre sur false désactive les valeurs par défaut spécifiques au langage. |
Non | Booléen |
target-path |
Un chemin absolu | Chemin d’accès absolu vers lequel déployer l’artefact. Par exemple, /home/site/deployments/tools/driver.jar ou /home/site/scripts/helper.sh . |
Non | Chaîne |
Contenu connexe
Pour des scénarios de déploiement plus avancés, consultez Déploiement Git local vers Azure App Service. Le déploiement GIT vers Azure autorise le contrôle de version, la restauration du package, MSBuild et bien plus encore.