Déployer sur App Service
Chaque équipe de développement a des exigences uniques qui peuvent compliquer l’implémentation d’un pipeline de déploiement efficace sur un service cloud. App Service prend en charge le déploiement automatisé et manuel.
Déploiement automatisé
Le déploiement automatisé, ou déploiement continu, est un processus utilisé pour pousser de nouvelles fonctionnalités et des correctifs de bogues selon un modèle rapide et répétitif, avec un effet minimal sur les utilisateurs finaux.
Azure prend en charge le déploiement automatisé directement à partir de plusieurs sources. Les options suivantes sont disponibles :
- Azure DevOps Services : vous pouvez pousser (push) votre code vers Azure DevOps Services, générer votre code dans le cloud, exécuter les tests, générer une version à partir du code et, enfin, pousser votre code vers une application web Azure.
- GitHub : Azure prend en charge le déploiement automatisé directement à partir de GitHub. Quand vous connectez votre dépôt GitHub à Azure pour le déploiement automatisé, les changements que vous poussez sur votre branche de production sur GitHub sont déployés automatiquement pour vous.
- Bitbucket : de façon similaire à GitHub, vous pouvez configurer un déploiement automatisé avec Bitbucket.
Déploiement manuel
Il existe quelques options pour envoyer (push) votre code manuellement sur Azure :
- Git : Les applications web App Service proposent une URL Git que vous pouvez ajouter en tant que dépôt distant. En poussant le code sur le dépôt distant, vous déployez votre application.
-
CLI :
webapp up
est une fonctionnalité de l’interface de ligne de commandeaz
qui permet d’empaqueter votre application et de la déployer. Contrairement à d’autres méthodes de déploiement,az webapp up
pouvez créer une application web App Service pour vous. -
Déploiement ZIP : utilisez
curl
ou un utilitaire HTTP similaire pour envoyer un fichier zip de vos fichiers d’application à App Service. - FTP/S : FTP ou FTPS est un moyen traditionnel d’envoyer (push) votre code à de nombreux environnements d’hébergement, notamment App Service.
Utiliser des emplacements de déploiement
Dans la mesure du possible, utilisez des emplacements de déploiement lors du déploiement d’un nouveau build de production. Lorsque vous utilisez un niveau de plan App Service standard ou supérieur, vous pouvez déployer votre application dans un environnement intermédiaire, puis échanger vos emplacements de préproduction et de production. L’opération d’échange préchauffe les instances de worker nécessaires pour correspondre à votre échelle de production, ce qui élimine les temps d’arrêt.
Déployer du code en continu
Si votre projet désigne des branches pour les tests, l’assurance qualité et la préproduction, chacune de ces branches doit être déployée en continu sur un emplacement intermédiaire. Cela permet à vos parties prenantes d’évaluer et de tester facilement la branche déployée.
Déployer des conteneurs en continu
Pour les conteneurs personnalisés d’Azure Container Registry ou d’autres registres de conteneurs, déployez l’image dans un emplacement de préproduction et échangez en production pour éviter les temps d’arrêt. L’automatisation est plus complexe que le déploiement du code, car vous devez envoyer (push) l’image vers un registre de conteneurs et mettre à jour la balise d’image sur l’application web.
- Générez et balisez l’image : Dans le cadre du pipeline de build, balisez l’image avec l’ID de validation git, l’horodateur ou d’autres informations identifiables. Il est préférable de ne pas utiliser la balise « latest » par défaut. Sinon, il est difficile de retracer le code actuellement déployé, ce qui rend le débogage beaucoup plus compliqué.
- Envoyez (push) l’image balisée : Une fois l’image générée et balisée, le pipeline envoie (push) l’image à notre registre de conteneurs. À l’étape suivante, l’emplacement de déploiement extraira l’image balisée du registre de conteneurs.
- Mettre à jour l’emplacement de déploiement avec la nouvelle balise d’image: lorsque cette propriété est mise à jour, le site redémarre et extrait automatiquement la nouvelle image conteneur.
Conteneurs side-car
Dans Azure App Service, vous pouvez ajouter jusqu’à neuf conteneurs sidecar pour chaque application conteneur personnalisée avec sidecar. Les conteneurs sidecar vous permettent de déployer des services et fonctionnalités supplémentaires sur votre application conteneur sans les rendre étroitement couplés à votre conteneur d’application principal. Par exemple, vous pouvez ajouter des services de surveillance, de journalisation, de configuration et de mise en réseau en tant que conteneurs side-car.
Vous pouvez ajouter un conteneur sidecar via le centre de déploiement dans la page de gestion de l’application.