Déployer un Site Web Azure via Team Foundation Service

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

image

image

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.

image

Ceci vous permettra d’ajouter les permissions d’accès à votre ressources TFS par le portail. Cliquer sur Accept

image

Vous avez alors accès à la deuxième page de l’assistant de configuration vous permettant de choisir votre projet :

image

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 :

image

image

A partir de ce moment, une configuration de build automatique a été ajouté à notre projet dans l’environnement Team Foundation Service.

image

Rendons nous sur l’interface de Visual Studio pour voir la définition de ce build :

  • Dans Team Explorer :
    • Sélectionner Builds image
    • Dans la partie All Build Definition, faites un clic droit sur la définition de build puis Edit Build Definition

image

image

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.

image

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.

image

Un double clic sur la définition vous permet d’accéder à la fenêtre de log de l’exécution

image

Une fois terminé, la fenêtre suivante apparait :

image

Mon build s’est donc correctement exécuté.

Nous allons vérifier cela en nous rendant sur le site :

image

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.

image

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

image

    • 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 :

image

    • L’exécution du Build est alors ajoutée dans la file d’attente

image

    • Le portal Windows Azure se met à jour automatiquement au fur et à mesure de l’avancement de l’exécution du Build

image

    • Une fois le nouveau déploiement actif, nous pouvons retourner sur notre site et actualiser la page

image

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

image

  • Cliquer sur Redéployer, une notification de confirmation apparait alors

image

  • 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.

image

  • Une fois le déploiement effectué, nous retrouvons notre site initial.

image

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.

About these ads
This entry was posted in Français, Microsoft, TFS, Windows Azure Platform and tagged , , . Bookmark the permalink.

2 Responses to Déployer un Site Web Azure via Team Foundation Service

  1. Pingback: Déployer un site Web Azure via Team Foundation Service - Windows Azure France - Site Home - MSDN Blogs

  2. 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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s