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

Déployer une application directement depuis visual studio 2010

Embed Size (px)

Citation preview

Page 1: Déployer une application directement depuis visual studio 2010

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

Page 2: Déployer une application directement depuis visual studio 2010

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 - [email protected] 2

Page 3: Déployer une application directement depuis visual studio 2010

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 - [email protected] 3

Page 4: Déployer une application directement depuis visual studio 2010

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 - [email protected] 4

Page 5: Déployer une application directement depuis visual studio 2010

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 - [email protected] 5

Page 6: Déployer une application directement depuis visual studio 2010

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 - [email protected] 6

Page 7: Déployer une application directement depuis visual studio 2010

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 - [email protected] 7

Page 8: Déployer une application directement depuis visual studio 2010

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 - [email protected] 8

Page 9: Déployer une application directement depuis visual studio 2010

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 - [email protected] 9

Page 10: Déployer une application directement depuis visual studio 2010

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 - [email protected] 10

Page 11: Déployer une application directement depuis visual studio 2010

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 - [email protected] 11

Page 12: Déployer une application directement depuis visual studio 2010

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 - [email protected] 12

Page 13: Déployer une application directement depuis visual studio 2010

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</AutoParameterizationWebConfigConnectionStrings>

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 - [email protected] 13