You are on page 1of 13

Déployer une application directement depuis Visual Studio 2010 Auteur Alain BELUT

Visual Studio 2010 permet de déployer directement une application sur
différents serveurs IIS.

Nous allons voir la mise en place pour « Le déploiement en un clic ».

1) Configurer le/les serveurs IIS 7.x cibles.

a) Téléchargement et installation.

Sur le serveur cible vous devrez installer Web Deploy de Microsoft. Vous pouvez
le télécharger ici : http://www.iis.net/download/webdeploy
Cette installation ajoute de nouvelles fonctionnalités à IIS et met en place un
service accessible à distance.


08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 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 défaut le protocole est https et que cela ne marchera pas via http.
Le port par défaut est 8172.
Le service Windows est bien évidemment visible dans la liste des services accessible
via services.msc :



Il est important de relever qui exécute le service. Par défaut Service réseau.

Si vous voulez pouvoir accéder à distance au service, vous devrez sans doute modifier
le paramétrage du pare-feu du serveur pour ouvrir le port 8172 en lecture/écriture.

08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 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 définir quels sites pourront être publiés directement depuis Visual
Studio.
La première chose à faire est de créer un utilisateur. Pour cela rendez-vous dans la console
d'administration d'IIS (inetmgr.exe).
Sélectionnez 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 déclarés qui peuvent procéder à 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 - Tél. : 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 créer.
Le compte créé vous devez encore lui accorder des privilèges pour lui permettre de publier le
site. Cliquez de nouveau sur le nom du serveur puis cliquer dans la section Gestion sur
Délégation du service de gestion.

08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 5
Cliquez ensuite sur Ajouter une règle puis sélectionnez Déployez des applications avec du
contenu








Dans la définition de la nouvelle règle, vous devez sélectionner dans la liste déroulante de
Fournisseurs : contentPath, createPath, iisApp et setAcl

08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 6
Laissez les autres informations renseignées par défaut puis cliquez sur OK .
Une nouvelle fenêtre apparaît et vous demande quel utilisateur autoriser pour cette règle.
Indiquez l'utilisateur créé précédemment.






Cliquez enfin sur OK.

A ce stade nous avons donc défini un compte avec les habilitations nécessaires pour publier des
sites Web.

Il faut maintenant définir quels sites cet utilisateur peut publier. Par défaut 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 - Tél. : 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 autorisés à publier ce site.
A priori, aucun utilisateur n'est autorisé. Cliquer sur Autoriser un utilisateur pour associer le
compte précédemment créé.

08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 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éé précédemment. Pour cela nous devons
sélectionner Gestionnaire des services Internet puis cliquer sur le bouton Sélectionner.
Choisir le compte créé précédemment et cliquer sur OK.
A ce stade, nous venons d'autoriser l'utilisateur à publier ce site Web.

ATTENTION : il faut impérativement ajouter les droits d'accès MAXIMUM (Contrôle total) au
compte qui exécute le service MsDeploy sur le répertoire du site Web
(par exemple : c:\inetpub\wwwroot\MonSite.).
Nous l'avons vu précédemment, le service est exécuté dans notre cas par Service Réseau.
Sans quoi vous aurez des erreurs d'accès 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, après 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 - Tél. : 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 - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 10
La première fois d'une publication, une fenêtre apparaît et doit être complétée.

08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 11
La méthode de publication est Web Deploy.L'url du service correspond à l'url avec HTTPS vers
votre serveur que nous avons configuré précédemment.
Vous devez avoir configuré le pare-feu côté serveur.
Le Site/application doit être renseigné avec le nom du site tel qu'il apparaît dans la console de
gestion de IIS sous Sites. C'est très important… C'est ce nom qui doit être indiqué.
(Par exemple : Default Web Site ou monsite.com ou autre… TEL que cela apparaît 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 gérer X versions du fichier Web.config et par défaut 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 créer un environnement staging et avoir un fichier Web.config.staging).

08/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 12
Pour gérer le plus simplement du monde différents fichier de configurations sans maîtriser la
transformation des fichiers, une astuce simple est de préparer un fichier de Configuration
complet pour l'environnement cible (par exemple Release) et mettre au début 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'intégralité de la configuration est remplacée par
le contenu de Web.config.release pour générer le Web.config définitif.

ATTENTION : Visual Studio, quoi qu'il arrive procède à une gestion particulière des
ConnectionStrings qui pourront poser problème au moment de la génération des fichiers Web.
Config.
Pour éviter cela et garantir que vos chaines de connexion définies ne soient pas altérées, 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 - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 13