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 explique comment déployer votre application sur Azure App Service à partir d’un dépôt Git sur votre ordinateur local.
Remarque
Cette méthode de déploiement nécessite l’authentification de base du Gestionnaire de contrôle de code source (SCM), qui est moins sécurisée que d’autres méthodes de déploiement. Si le déploiement Git local ne fonctionne pas, vous ne pouvez pas configurer le déploiement Git local dans le Centre de déploiement d’application.
Prérequis
Pour effectuer les étapes décrites dans cet article :
-
Si vous ne disposez pas d’un compte Azure, créez-en un gratuitement avant de commencer.
Disposer d’un référentiel Git local avec du code à déployer. Pour télécharger un exemple de référentiel, exécutez la commande suivante dans la fenêtre de terminal locale :
git clone https://github.com/Azure-Samples/nodejs-docs-hello-world.git
Préparer votre dépôt
Pour obtenir des builds automatisées à partir du serveur de build App Service, assurez-vous que la racine de votre référentiel contient les fichiers appropriés dans votre projet.
Temps d'exécution | Fichiers du répertoire racine |
---|---|
ASP.NET (Windows uniquement) |
*.sln , *.csproj , ou default.aspx . |
ASP.NET Noyau |
*.sln ou *.csproj . |
PHP |
index.php . |
Ruby (Linux uniquement) |
Gemfile . |
Node.JS |
server.js , app.js ou package.json avec un script de démarrage. |
Python |
*.py , requirements.txt , ou runtime.txt . |
HTML |
default.htm , default.html , default.asp , index.htm , index.html , ou iisstart.htm . |
WebJobs |
<job_name>/run.<extension> sous App_Data/jobs/continuous pour WebJobs continus ou App_Data/jobs/triggered pour WebJobs déclenchées. Pour plus d’informations, consultez la documentation Kudu relative aux WebJobs. |
Fonctions | Consultez Déploiement continu pour Azure Functions. |
Pour personnaliser votre déploiement, incluez un .deployment
fichier dans la racine du référentiel. Pour plus d’informations, consultez Personnaliser les déploiements et Personnaliser un script de déploiement.
Conseil
Visual Studio peut créer un référentiel pour vous. Avec cette méthode, votre projet est immédiatement prêt pour le déploiement via Git.
Configuration d’un utilisateur de déploiement
Découvrez comment configurer les informations d’identification de déploiement pour Azure App Service. Vous pouvez utiliser les informations de connexion à l’étendue de l’utilisateur ou les informations de connexion à l’étendue de l’application.
Créer une application prenant en charge Git
Si vous disposez déjà d’une application App Service et que vous souhaitez configurer un déploiement Git local pour l’application, consultez Configurer une application existante à la place.
Exécutez az webapp create avec l’option --deployment-local-git
.
Par exemple :
az webapp create --resource-group <group-name> --plan <plan-name> --name <app-name> --runtime "<runtime-flag>" --deployment-local-git
La sortie contient une URL comme l’exemple https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Utilisez cette URL pour déployer votre application à l’étape suivante.
Configurer une application existante
Si vous n’avez pas encore d’application, commencez à créer une application git activée.
Exécutez az webapp deployment source config-local-git.
Par exemple :
az webapp deployment source config-local-git --name <app-name> --resource-group <group-name>
La sortie contient une URL comme l’exemple https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Utilisez cette URL pour déployer votre application à l’étape suivante.
Conseil
Cette URL contient le nom d’utilisateur de déploiement de portée utilisateur. Vous pouvez utiliser les informations de connexion spécifiques à l'application à la place.
Déployer l’application web
Dans une fenêtre de terminal local, remplacez le répertoire par la racine de votre dépôt Git. Ajoutez un Git distant à l’aide de l’URL de votre application. Si la méthode que vous utilisez ne fournit pas d’URL, utilisez
https://<app-name>.scm.azurewebsites.net/<app-name>.git
le nom de votre application.git remote add azure <url>
Remarque
Si vous avez créé une application avec Git dans PowerShell à l’aide de New-AzWebApp, la connexion distante est déjà créée.
Envoyez (push) à la branche distante Azure en exécutant
git push azure master
.Pour plus d’informations, consultez Modifier la branche de déploiement.
Dans la boîte de dialogue Gestionnaire d’informations d’identification Git, entrez vos informations de connexion à l’étendue de l’utilisateur ou à l’étendue de l’application, et non vos informations de connexion Azure.
Si votre URL distante Git contient déjà votre nom d’utilisateur et votre mot de passe, vous n’êtes pas invité à les entrer.
Passez en revue la sortie. Vous pouvez voir une automatisation spécifique au runtime, telle que MSBuild pour ASP.NET, npm install pour Node.js, ou pip install pour Python.
Dans le portail Azure, accédez à votre application pour vérifier que le contenu est déployé.
Modifier la branche de déploiement
Lorsque vous envoyez (push) des commits vers votre référentiel App Service, App Service déploie les fichiers dans la branche master
par défaut. Étant donné que de nombreux dépôts Git passent de master
à main
, assurez-vous de pousser sur la bonne branche dans le dépôt App Service de l’une des deux manières suivantes :
Déployez explicitement sur
master
en exécutant une commande comme dans cet exemple :git push azure main:master
Modifiez la branche de déploiement en définissant le
DEPLOYMENT_BRANCH
paramètre d’application, puis envoyez des validations à la branche personnalisée.Pour ce faire à l’aide d’Azure CLI :
az webapp config appsettings set --name <app-name> --resource-group <group-name> --settings DEPLOYMENT_BRANCH='main' git push azure main
Vous pouvez également modifier le
DEPLOYMENT_BRANCH
paramètre d’application dans le portail Azure :- Sous Paramètres, sélectionnez Variables d’environnement.
- Ajoutez un paramètre d’application qui a le nom
DEPLOYMENT_BRANCH
et la valeurmain
.
Résoudre les problèmes de déploiement
Vous risquez de voir les messages d’erreur courants suivants lorsque vous utilisez Git pour publier une application App Service dans Azure :
Message | La cause | Résolution |
---|---|---|
Unable to access '[siteURL]': Failed to connect to [scmAddress] |
L’application n’est pas en cours d’exécution. | Dans le portail Azure, démarrez l’application. Le déploiement Git n'est pas disponible lorsque l’application web est arrêtée. |
Couldn't resolve host 'hostname' |
Les informations d’adresse du dépôt distant azure ne sont pas correctes. |
Utilisez la commande git remote -v pour répertorier tous les dépôts distants et leurs URL associées. Vérifiez que l’URL du dépôt distant azure est correcte. Si nécessaire, supprimez et recréez-le à l’aide de l’URL correcte. |
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'main'. |
Vous n’avez pas spécifié de branche lorsque vous avez exécuté git push ou que vous n’avez pas défini la push.default valeur dans .gitconfig . |
Réexécutez git push et spécifiez la branche principale : git push azure main . |
Error - Changes committed to remote repository but deployment to website failed. |
Vous avez envoyé (push) une branche locale qui ne correspond pas à la branche de déploiement d’applications sur azure . |
Vérifiez que la branche actuelle est master . Pour modifier la branche par défaut, utilisez le paramètre d’application DEPLOYMENT_BRANCH . Pour plus d’informations, consultez Modifier la branche de déploiement. |
src refspec [branchname] does not match any. |
Vous avez essayé d’envoyer (push) vers une branche autre que main sur le dépôt distant azure . |
Réexécutez git push et spécifiez la branche principale : git push azure main . |
RPC failed; result=22, HTTP code = 5xx. |
Cette erreur peut se produire si vous essayez d’envoyer (push) un dépôt Git volumineux via HTTPS. | Modifiez la configuration git sur l’ordinateur local pour définir une valeur plus élevée pour postBuffer . Par exemple : git config --global http.postBuffer 524288000 . |
Error - Changes committed to remote repository but your web app not updated. |
Vous avez déployé une application Node.js contenant un fichier package.json spécifiant des modules obligatoires supplémentaires. | Passez en revue les npm ERR! messages d’erreur qui s’affichent avant cette erreur pour plus de contexte. Les causes suivantes sont des causes connues de cette erreur et des messages correspondants npm ERR! :Fichier package.json incorrect: npm ERR! Couldn't read dependencies. Un module natif n’a pas de distribution binaire pour Windows : npm ERR! \cmd "/c" "node-gyp rebuild"\ failed with 1 ou npm ERR! [modulename@version] preinstall: \make \|\| gmake\ |
Contenu connexe
- Serveur de build App Service (documentation Project Kudu)
- Déploiement continu vers Azure App Service
- Exemple : Créer une application web et déployer du code à partir d’un référentiel Git local (Azure CLI)
- Exemple : Créer une application web et déployer du code à partir d’un référentiel Git local (PowerShell)