Dployer une application directement depuis Visual Studio 2010 Auteur Alain BELUT
Visual Studio 2010 permet de dployer directement une application sur
diffrents serveurs IIS.
Nous allons voir la mise en place pour Le dploiement en un clic .
1) Configurer le/les serveurs IIS 7.x cibles.
a) Tlchargement et installation.
Sur le serveur cible vous devrez installer Web Deploy de Microsoft. Vous pouvez le tlcharger ici : http://www.iis.net/download/webdeploy Cette installation ajoute de nouvelles fonctionnalits IIS et met en place un service accessible distance.
08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 2 b) Le service Windows MsDeploy
Il est accessible depuis votre serveur via https://localhost:8172/MsDeploy.axd. Notez bien que par dfaut le protocole est https et que cela ne marchera pas via http. Le port par dfaut est 8172. Le service Windows est bien videmment visible dans la liste des services accessible via services.msc :
Il est important de relever qui excute le service. Par dfaut Service rseau.
Si vous voulez pouvoir accder distance au service, vous devrez sans doute modifier le paramtrage du pare-feu du serveur pour ouvrir le port 8172 en lecture/criture.
08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 3 c) Configuration des sites dans IIS Il convient maintenant de dfinir quels sites pourront tre publis directement depuis Visual Studio. La premire chose faire est de crer un utilisateur. Pour cela rendez-vous dans la console d'administration d'IIS (inetmgr.exe). Slectionnez le nom du serveur dans l'arborescence, puis sur l'cran principal, section gestion cliquer sur Utilisateurs du Gestionnaire des services Internet.
Vous visualisez la liste des utilisateurs techniques dclars qui peuvent procder la publication de sites. A priori la liste sera vide. Cliquez sur Ajouter un utilisateur.
08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 4 Renseignez le nom d'utilisateur et le mot de passe pour le nouvel utilisateur technique que vous voulez crer. Le compte cr vous devez encore lui accorder des privilges pour lui permettre de publier le site. Cliquez de nouveau sur le nom du serveur puis cliquer dans la section Gestion sur Dlgation du service de gestion.
08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 5 Cliquez ensuite sur Ajouter une rgle puis slectionnez Dployez des applications avec du contenu
Dans la dfinition de la nouvelle rgle, vous devez slectionner dans la liste droulante de Fournisseurs : contentPath, createPath, iisApp et setAcl
08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 6 Laissez les autres informations renseignes par dfaut puis cliquez sur OK . Une nouvelle fentre apparat et vous demande quel utilisateur autoriser pour cette rgle. Indiquez l'utilisateur cr prcdemment.
Cliquez enfin sur OK.
A ce stade nous avons donc dfini un compte avec les habilitations ncessaires pour publier des sites Web.
Il faut maintenant dfinir quels sites cet utilisateur peut publier. Par dfaut aucun ! Pour cela il faut se positionner sur le site que l'on veut associer au compte cr. Puis dans la zone principal, dans la section Gestion cliquer sur Autorisations du Gestionnaire des services Internet 08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 7
Le nouvel cran affiche la liste des utilisateurs autoriss publier ce site. A priori, aucun utilisateur n'est autoris. Cliquer sur Autoriser un utilisateur pour associer le compte prcdemment cr.
08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 8 Vous pourriez autoriser un utilisateur du domaine Windows. Mais dans notre cas, nous allons autoriser le compte technique que nous avons cr prcdemment. Pour cela nous devons slectionner Gestionnaire des services Internet puis cliquer sur le bouton Slectionner. Choisir le compte cr prcdemment et cliquer sur OK. A ce stade, nous venons d'autoriser l'utilisateur publier ce site Web.
ATTENTION : il faut imprativement ajouter les droits d'accs MAXIMUM (Contrle total) au compte qui excute le service MsDeploy sur le rpertoire du site Web (par exemple : c:\inetpub\wwwroot\MonSite.). Nous l'avons vu prcdemment, le service est excut dans notre cas par Service Rseau. Sans quoi vous aurez des erreurs d'accs lors de la publication depuis Visual Studio 2010.
2) Configuration de Visual Studio 2010
a) La publication
Pour publier votre application Web, depuis Visual Studio 2010, aprs avoir ouvert votre solution, placez vous sur le projet Web publier, faites un clic droit puis cliquer sur Publier. 08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 9
08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 10 La premire fois d'une publication, une fentre apparat et doit tre complte.
08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 11 La mthode de publication est Web Deploy.L'url du service correspond l'url avec HTTPS vers votre serveur que nous avons configur prcdemment. Vous devez avoir configur le pare-feu ct serveur. Le Site/application doit tre renseign avec le nom du site tel qu'il apparat dans la console de gestion de IIS sous Sites. C'est trs important C'est ce nom qui doit tre indiqu. (Par exemple : Default Web Site ou monsite.com ou autre TEL que cela apparat dans IIS). Cliquer sur le bouton Publier pour lancer la Publication vers le serveur.
b) Publier le bon fichier de configuration Web.config
Visual Studio 2010 permet de grer X versions du fichier Web.config et par dfaut nous avons Web.config.debug, Web.config.releaseEn fonction de l'environnement cible, ce sera le fichier Web.config.debug ou le fichier Web.config.release qui sera pris.
(On pourrait aussi crer un environnement staging et avoir un fichier Web.config.staging).
08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 12 Pour grer le plus simplement du monde diffrents fichier de configurations sans matriser la transformation des fichiers, une astuce simple est de prparer un fichier de Configuration complet pour l'environnement cible (par exemple Release) et mettre au dbut du fichier (donc Web.config.release) :
Pour plus d'informations sur la configuration de votre application ASP.NET, consultez http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration xmlns:xdt=http://schemas.microsoft.com/XML-Document-Transform xdt:Transform="Replace"> Au moment de la compilation en mode Release, l'intgralit de la configuration est remplace par le contenu de Web.config.release pour gnrer le Web.config dfinitif.
ATTENTION : Visual Studio, quoi qu'il arrive procde une gestion particulire des ConnectionStrings qui pourront poser problme au moment de la gnration des fichiers Web. Config. Pour viter cela et garantir que vos chaines de connexion dfinies ne soient pas altres, modifier le fichier csproj et ajouter ceci dans les <PropertyGroup /> <AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigCon nectionStrings> 08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tl. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 13