Hello !
Après avoir vu dans un précédent article comment mettre en œuvre un process d’intégration et déploiement continu via VSTS nous allons voir comment Azure nous permet de déployer tout ça automatiquement avec Azure DevOps Project.
Dans cet article nous allons, depuis Azure et sans la moindre ligne de code, générer :
- Un projet ASP .Net Core MVC
- Un pipe CI / CD (intégration et déploiement continue) dans VSTS
- Une Web Application Azure
- Bonus : notre site web s’exécutera dans un conteneur Docker
Nous pouvons commencer ! Direction le portail Azure puis “Créer une ressource” et choisir “DevOps Project” :
Je choisis le framework .Net Core :
J’indique que je veux déployer mon application dans une Web App avec support de conteneurs. On peut également choisir une Web App classique Windows ou Linux :
Dernière étape je sélectionne mon compte Team Services et un nom de projet ainsi qu’un tenant Azure et le nom de ma Web App :
Création en cours …
Déploiement réussi !
Nous retrouvons bien notre groupe de ressources (dont le nom à été défini par Azure) contenant notre Web App DevOpsExemple :
Détails :
Si je clique sur l’URL renseignée … Success !!
Voyons maintenant ce qui a été créé côté VSTS :
Dans Code > Files je retrouve un projet de base ASP .Net Core MVC :
Dans la section Commit je retrouve la création du projet par Azure :
Dans l’onglet Build je retrouve une définition de build (étonnant !) :
Cette build contient deux étapes de commandes Docker pour construire puis déployer dans Azure mon image Docker. Pour se faire c’est le fichier Dockerfile présent dans le dépôt qui est utilisé.
Dans la section Release je trouve :
Et un pipe d’exécution depuis ma build :
Bref on retrouve ici tout ce qu’on a vu et créé manuellement dans le dernier tutoriel 🙂
Récupérons le code ! On ouvre un nouveau Visual Studio > Team Explorer > Gérer les connexions > Connexion à un projet :
On choisit son dossier :
Et on obtient notre code source avec notre fameux Dockerfile !
Ce fichier contient les instructions pour générer et déployer notre projet dans un conteneur Docker :
Dans ce Dockerfile les instructions vont :
- Indiquer que je vais utiliser l’image aspnetcore-build:1.1 fourni par Microsoft pour compiler mon application dans le dossier de base “app”.
- Je vais exécuter les commandes Restore puis Publish pour compiler mon projet et enregistrer les dll dans app/out.
- Enfin je construis mon image Docker depuis l’image de base aspnetcore:1.1 dans laquelle je pousse mes dll.
Je fais un petit correctif sur la page d’accueil de notre site afin de vérifier notre pipe de déploiement vers Azure !
On commit en local :
On synchronise avec le serveur :
Une nouvelle build se déclenche :
En cours …
Suite à cette build c’est au tour de la Release de s’exécuter :En cours …
Et notre site web est à jour !
Et c’est déjà terminé !
Vous pouvez donc, en quelques clics, générer automatiquement depuis Azure un pipe d’intégration et de déploiement continu avec VSTS pour un projet .Net ou .Net Core, avec ou sans Docker 🙂