Nous avons vu dans un précédent billet, comment héberger son code source sur la plateforme Cloud Team Foundation Service.
Nous allons voir maintenant comment mettre en place l’intégration continue de son site web à partir du code source TFS vers le Service de Site Web de Windows Azure.
Après avoir créer un nouveau site web vierge, sur la page de garde du site web est disponible un aperçu rapide permettant de configurer la publication TFS
Si votre navigateur bloque les pop-up, je vous conseil de les autoriser pour le site Windows Azure car l’option Allow Once, faisait rafraichir mon navigateur constamment.
Ceci vous permettra d’ajouter les permissions d’accès à votre ressources TFS par le portail. Cliquer sur Accept
Vous avez alors accès à la deuxième page de l’assistant de configuration vous permettant de choisir votre projet :
Nous pouvons voir que le projet WebSiteAzure a directement été découvert par la configuration. Nous validons donc le choix du projet et attendons la fin de la configuration :
A partir de ce moment, une configuration de build automatique a été ajouté à notre projet dans l’environnement Team Foundation Service.
Rendons nous sur l’interface de Visual Studio pour voir la définition de ce build :
- Dans Team Explorer :
Cette définition de build a été configuré de la manière suivante :
Intégration Continue – Exécution de la tache de build pour chaque Archivage.
Le processus de déploiement correspond au template AzureContinuousDeployment.11.xaml qui est un Workflow utilisant les activités Team Foundation Build. Nous avons donc la possibilité si besoin de modifier/adapter ce workflow pour nos besoins spécifiques.
Nous allons déclencher manuellement un build pour observer le déploiement sur le Web Site Azure. Pour cela, effectuer un clic droit sur la définition de build dans le Team Explorer et cliquer sur Queue New Build… (cette opération peut également se faire à partir du portail Web de Team Foundation Service)
La fenêtre suivante apparait, vous permettant de modifier quelques paramètres avant le lancement du build. Cliquer sur Queue.
Cette opération va mettre dans la file d’attente la définition de Build qui sera executer par le Controller de Build hébergé dans les nuages.
Un double clic sur la définition vous permet d’accéder à la fenêtre de log de l’exécution
Une fois terminé, la fenêtre suivante apparait :
Mon build s’est donc correctement exécuté.
Nous allons vérifier cela en nous rendant sur le site :
On retrouve bien notre site de démo.
Si nous retournons sur notre portail de gestion Windows Azure, au niveau du Web Site dans la section Déploiements, nous pouvons voir notre déploiement.
Retournons sur notre site Visual Studio, et modifions la page d’accueil. Au niveau de votre controller HomeController.cs, modifier la méthode Index par la suivante :
public ActionResult Index() { ViewBag.Message = "Site Modifié et déployé avec Team Foundation Service"; return View(); }
- Sauvegarder le fichier
- Archiver la solution (Check-In)
- Clic-droit sur la solution
- Cliquer sur Check-in
- Renseigner un commentaire (ex: 2eme Checkin)
- Cliquer sur Check In, en vérifiant au préalable que HomeController.cs est bien intégré à vos changements en cours.
- Un pop-up de confirmation peut éventuellement apparaitre :
- L’exécution du Build est alors ajoutée dans la file d’attente
- Le portal Windows Azure se met à jour automatiquement au fur et à mesure de l’avancement de l’exécution du Build
- Une fois le nouveau déploiement actif, nous pouvons retourner sur notre site et actualiser la page
Une des options très intéressante de la mise en place de l’intégration continue est la possibilité de faire des retours Arrière. Ici la procédure est alors grandement simplifié.
Nous avons actuellement deux déploiement, donc le dernier qui est le déploiement actif.
- Cliquer sur le premier déploiement
- vous remarquez que le menu contextuel dans le pied de page du portail Azure
- Cliquer sur Redéployer, une notification de confirmation apparait alors
- Cliquer sur Oui, un nouveau déploiement va alors être mis en attente. Cette opération ne requiert pas de connexion à TFS ou d’utilisation de Visual Studio.
- Une fois le déploiement effectué, nous retrouvons notre site initial.
En regardant dans le détails, nous remarquons que les Identifiants des déploiement 1 et 3 sont identiques (c’est effectivement le même déploiement). Cependant, chaque déploiement correspond bien à une exécution différentes du contrôleur de build (tfsWebSiteAzure_CD_20130109.X ou X est le numéro de Build).
Vous savez donc désormais comment intégrer de manière continue un site Web sur Azure à partir de Visual Studio et Team Foundation Service.
A savoir : la définition de build intègre ici une petite partie des éléments disponibles, en effet, nous pouvons aisément imaginé rajouter l’exécution de tests unitaires lors du Check-In et par conséquent la publication sur le site Web Azure si et seulement si les tests unitaires ont été réalisés avec Succès.
Nous verrons dans un prochain billet comment effectuer le même genre d’opération à l’aide du gestionnaire de source Git.
Pingback: Déployer un site Web Azure via Team Foundation Service - Windows Azure France - Site Home - MSDN Blogs
Pingback: [Tutoriel Windows Azure] Gestion des sources avec Team Foundation Service (Introduction à l’outil TFS, création de compte et ajout d’un projet Web sur TFS) - Windows Azure France - Site Home - MSDN Blogs