Accueil > .NET, Outillage > Packaging et déploiement d’une application Web avec Visual Studio 2010

Packaging et déploiement d’une application Web avec Visual Studio 2010

Industrialiser, faciliter le développement d’une application Web en utilisant un outillage adapté au projet est appréciable. De manière générale, limiter les tâches à faible à valeur ajoutée, par exemple en les outillant, est une bonne pratique reprise dans les méthodes dites « agiles », telles que Scrum, ou bien XP.

Dans le cycle de vie d’une application Web, le packaging et le déploiement sont de bons candidats à l’automatisation. C’est d’autant plus vrai si l’équipe travaille par itération, en livrant une version régulièrement (sur nos projets, c’est généralement 3 semaines).

Visual Studio 2010 va nous aider à faciliter ces déploiements. En réalité, Visual Studio fournit une interface permettant de configurer une brique disponible sur iis.net : le web deploy. L’objectif de cette brique est de packager une application Web, en fournissant des scripts d’installation, en permettant d’inclure par exemple des scripts SQL de création de table ou d’insertion de données. L’ensemble des livrables est rassemblé dans un répertoire. Pour déployer sur une machine distante, il faut copier ce répertoire sur la machine cible et lancer le script. Pré-requis sur la machine cible : web deploy doit être installé.

Détaillons le travail à réaliser dans Visual Studio.

Première étape : configurer le packaging d’un projet de type application Web.

Lancement de la configuration du packaging d'un projet de type application Web

Lancement de la configuration du packaging d'un projet de type application Web

Deuxième étape : configurer le packaging

Ecran de configuration du packaging

Configuration du packaging

Cet écran de configuration permet notamment d’indiquer :

  • la configuration du build. Généralement, on lance l’application en mode Debug lors du développement, ce qui permet d’avoir entre autres choses des traces d’exécution. En revanche, le déploiement sur l’environnement de production est réalisé en mode release. Web deploy permet de définir des paramètres différents selon la configuration souhaitée. L’exemple type, c’est la connexion à la base de données dont les paramètres sont différents en mode développement ou en mode production.
  • l’URL cible d’accès à l’application Web. Dans notre exemple, si le site par défaut IIS est un serveur localhost, l’application cible sera disponible sous  http://localhost/ProtoGraphique_deploy
  • les fichiers SQL à exécuter sur le serveur de base de données avant de lancer l’application : création du schéma de base de données, insertion des données de référence, …
  • le chemin où notre livrable sera disponible. Parmi les livrables, figurera un script à exécuter en ligne de commande sur le serveur. Ce script peut être lancé avec l’option /T qui simulera le déploiement. Pour réellement jouer le déploiement, il faut exécuter le script avec /Y. Il est également possible de jouer le déploiement directement à partir de IIS manager, avec la commande « Import »

Une fois la configuration terminée, il reste à sélectionner la configuration de build souhaitée dans l’IDE et d’exécuter la commande « Build Deployment Package », disponible dans le menu présenté ci-dessus.

Derrière cette interface, plusieurs fichiers texte sont générés. Ils peuvent d’ailleurs être édités manuellement comme le décrit cet article. Je vous rassure, ce n’est pas le cas d’usage. En revanche, le fait que tout ce mécanisme soit décrit dans des fichiers texte offre deux avantages :

  1. les fichiers peuvent être stockés dans le gestionnaire de sources et partager par toute l’équipe
  2. si vous avez un mécanisme d’intégration continue, que ce soit avec Team Foundation Server ou avec une usine logicielle libre telle que Jenkins, la génération du packaging peut être automatisée !
  1. Pas encore de commentaire
  1. Pas encore de trackbacks