juin 04 2010

[Visual Studio 2010] Déploiement Web Partie 6 - Publication en un clic (One-Click Publishing)

Suite de la série de billets sur le déploiement Web avec Visual Studio 2010 :

Visual Studio propose désormais de s'interfacer directement avec les outils de gestion distante d'IIS, afin de déployer le site Web sur un serveur distant de façon automatique. Cette fonctionnalité ressemble à celle de publication qu'on retrouve dans les versions 2005 et 2008 de Visual Studio, cependant elle prépare en fait une vraie migration, incluant toutes les dépendances nécessaires. Il est de plus possible de publier sur plusieurs serveurs de façon simultanée, avec toutefois la limite de 50 profils de déploiement dans un projet, soit 50 serveurs publiés simultanément ! Avant de rentrer dans le vif du sujet, il est d'utile de cerner les avantages et inconvénients propres à l'utilisation de l'outil de publication et à celle de l'outil Copy Web Site. Choisir d'utiliser un de ces deux outils dépend de la façon dont vous comptez utiliser et maintenir votre site :


 Copy Web SitePublication
Avantages
  • Le déploiement est une simple question de copie de fichiers à partir du site Web sur l'ordinateur cible.
  • Vous pouvez déployer sur un ordinateur cible en utilisant n'importe quel protocole de connexion pris en charge par Visual Studio. Vous pouvez copier dans un dossier partagé sur une autre machine de votre réseau. Vous pouvez utiliser FTP pour copier sur un serveur, ou utiliser le protocole HTTP pour copier sur un serveur qui supporte les extensions serveur FrontPage.
  • Vous pouvez apporter des modifications ou corriger les erreurs dans les pages directement sur le serveur.
  • Si vous travaillez avec un projet où les fichiers sont stockés dans un serveur central, vous pouvez utiliser la fonction de synchronisation afin de s'assurer que les versions locales et distantes des fichiers sont synchronisées.
  • Le processus de précompilation vous aide à trouver les erreurs de compilation et les erreurs potentielles dans le fichier Web.config ou dans les fichiers ne représentant pas du code.
  • Vous pouvez choisir d'avoir le code source retiré du site Web, y compris éventuellement le balisage dans les fichiers Web ASP.NET et les contrôles utilisateur. Cela vous donne une mesure de protection de votre propriété intellectuelle et rend l'accès plus difficile au code source du site.
  • Les pages du site étant déjà compilées, elles ne doivent pas être compilées dynamiquement lors de leur première demande. Cela peut réduire le temps de réponse initial d'une page et donc accroître les performances.
Inconvénients
  • Le site est copié tel quel. Par conséquent, la découverte des erreurs est beaucoup moins aisée.
  • Vous pourriez avoir à recompiler le site si vous le changez. Par conséquent, ce n'est pas idéal d'utiliser l'outil de publication si les pages changent fréquemment.
  • L'outil de publication ne peut pas déployer le site compilé sur un serveur distant. Il peut le copier seulement pour la machine locale ou sur un autre machine du réseau local.
Comparaison des outils Copy Web Site et Publication
 
info L'avantage le plus important de l'outil de publication par rapport à celui de copie est que, comme les Web Packages, il va nous permettre de réaliser des transformations sur le fichier Web.Config et de déployer une base de données.

 

Exemple avec Visual Studio 2010 et WebDeploy (MSDeploy)

Avant de commencer, il vous faut installer WebDeploy sur votre serveur IIS, si ce n'est pas fait. Vous pouvez le télécharger ici. Afin d'avoir toutes les options, il faut privilégier une installation complète. Une fois installé, vous devriez voir cette option supplémentaire dans le gestionnaire IIS :


 

Si vous cliquez sur cette option, vous pourrez dans le menu "Actions" à droite, ajouter une règle comme le montre la capture ci-dessus. Ainsi, il est possible de gérer de façon très complète les droits de déploiement et les types de déploiements sur votre serveur IIS. Pour plus de détails, se référer à la documentation IIS.


 

Une dernière chose avant de passer au déploiement de notre application avec Visual Studio 2010 : il faut savoir que VS utilise le Web Deployment Handler nommé MsDeploy.axd et stocké sur votre serveur IIS à cette adresse : https://NomDuServeurOuAdresseIP:8172/MSDeploy.axd. Il faut donc penser à activer les connexions distantes dans le gestionnaire IIS. Pour ce faire, sélectionnez le module Service de gestion (visible dans la première capture de ce chapitre). Vous obtenez ainsi l'écran suivant :


 
 
info Il vous faut d'abord arrêter le server dans l'onglet de droite du gestionnaire, avant de pouvoir changer la configuration. Une fois fait, n'oubliez pas de redémarrer le service.
 
 

Passons maintenant au plus intéressant, à savoir déployer notre application WebApplicationBidon à l'aide de l'outil de publication dans Visual Studio 2010. Un simple clic droit, puis sélection de l'option "Publish..." vous affichera l'écran de l'outil :

 

Avec cet écran, nous pouvons publier à la volée notre site, mais aussi sauvegarder un profil de publication. Ainsi il est très facile (dans une limite de 50), de déployer notre site sur des serveurs différents sans avoir à paramétrer la publication à chaque release. Intéressons-nous de plus près aux différentes options :

  • Nom du profil :il est possible de spécifier n'importe quel nom pour un profil. Mais prenez l'habitude dès le départ à ce qu'il soit explicite, notamment sur le serveur de destination ;
  • Service URL : comme indiqué précédemment, c'est l'adresse du Web Deployment handler qu'utilisera Visual Studio lors du déploiement ;
  • Site/Application Name : le nom du site et de l'application. Dans notre exemple : Web Default Site/WebApplicationBidonPublish (afin de ne pas écraser le site créé par notre Web Package précédent) ;
  • Mark Folder as IIS Application on destination : cette option en ravira plus d'un. Si vous choisissez de publier un dossier à l'intérieur d'un site parent existant et que vous désirez avoir une gestion de la Session, du Cache et autres fonctionnalités pour ce sous-dossier, alors vous devrez convertir ce dossier dans une application IIS sous votre site parent. Ainsi, cocher cette case va le faire très facilement pour vous ;
  • Allow untrusted certificates : le http sécurisé nécessite un certificat. Cette option est à décocher que si votre administrateur ou votre hébergeur vous le demande.
  • User Name, Password : qu'est ce que ça peut bien être ?
Pour terminer, un simple clic sur Publish et voilà notre application déployée sur notre serveur IIS.

Tags: , , ,

Commentaires

1.
stef stef France says:

Très bon boulot ! merci

Les commentaires sont clos