Question

J'ai toujours déployé mes applications Web via FTP (parfois même xcopy), puis j'ai exécuté manuellement les scripts de base de données moi-même.

J'ai commencé à déployer de cette manière dans les années 90, mais récemment, j'ai vu quelques applications Web avec des installateurs. Je commence à me demander si je suis enfermé dans un processus périmé. Je suis un consultant, mes applications étant généralement internes, je ne m'inquiète donc pas de les distribuer ni de les installer.

Mais je suis curieux. quelqu'un crée-t-il des installateurs pour déployer des applications Web asp.net internes?

Si oui, pourquoi? (Volontaire, obligatoire ou faisant partie d’un processus d’automatisation)

Et avez-vous eu des problèmes à le faire de cette façon?

Était-ce utile?

La solution

absolument. Nous l'utilisons pour faire toutes nos applications. De cette façon, nous créons l’installateur et l’exécutons sur les environnements qa et uat à tester et nous savons exactement ce qui se passera en production. On ne peut pas deviner dans quel ordre une personne pourrait faire quelque chose ou si elle manque une étape. Cela rend les choses beaucoup plus faciles.

Ooh, j'ai aussi oublié le processus automatisé. Nous avons des systèmes en place (Ant Hill Pro) qui le déploient automatiquement dans les environnements appropriés. Les personnes qa n'ont pas à attendre que quelque chose soit fait, car tout est fait à 2 heures du matin. S'ils ont besoin de relancer la construction avec les mises à jour, les développeurs archivent le code et nous appuyons sur un bouton, qui est automatiquement déployé. Pas d'attente pour l'ingénieur de construction, car il est en réunion, malade ou autre.

Autres conseils

Vous voulez toujours avoir un moyen automatisé de construire et de déployer - cela réduit considérablement les risques d'erreur unique si vous oubliez une étape donnée. En outre, cela vous permet de décharger facilement le déploiement à une autre personne sans avoir à lui apprendre 100 étapes personnalisées. Que le projet soit interne ou non, toutes les applications doivent suivre les meilleures pratiques.

Personnellement, je suis un peu comme l’opérateur; généralement, je déploie simplement en utilisant FTP, mais en disant que mes applications sont généralement internes ou, dans le cas d’autres projets, 100% gérées par moi.

J'ai également réfléchi à cette question récemment, cependant, et j'ai commencé à réfléchir à la manière dont l'utilisation d'un déploiement approprié peut améliorer le processus. Il peut être très pénible de documenter un processus d'installation détaillé.

J'utilise Powershell et je trouve très facile d'automatiser beaucoup de tâches. Vous trouverez probablement un peu différent au tout début, mais à la fin, vous verrez qu'il s'agit de la puissance des bibliothèques .NET !!!

J'ai utilisé le " Projet de configuration Web " pour créer un fichier MSI qui a installé la sortie d'un & "; Projet de déploiement Web & Quot; pour une application interne. L'administrateur de notre serveur n'était pas à la hauteur d'une installation manuelle en 50 étapes. Pour mon application actuelle, mon administrateur de serveur n'aime pas la sensation de "boîte noire" des installateurs MSI et préfère obtenir une pile de fichiers et un manuel de déploiement en 50 étapes. (Voir un modèle ici? Demandez à votre administrateur de serveur ce qu'il veut.)

Le projet d'installation Web n'indique pas immédiatement comment installer autrement que sur le & "Site Web par défaut &", cela a rendu le processus d'installation reproductible et a créé un environnement intégré. moyen de revenir en arrière (en exécutant simplement le programme d’installation à partir d’une version 1).

Bien entendu, cela suppose que votre répertoire virtuel ne contient aucun contenu modifié par l'utilisateur - je ne ferais pas confiance à un MSI pour fusionner correctement les fichiers créés par l'utilisateur et les nouveaux fichiers.

Nous utilisons le " XCopy " déployez le modèle ici, car les responsables des opérations ont leur propre méthode de configuration de la sécurité pour une nouvelle application Web sur le serveur.

Cependant, nous avons eu besoin d'un programme d'installation pour installer une application Web qui utilisait une version plus récente de Crystal Reports, car elle devait faire quelque chose de spécial avec une clé et nous n'avions pas de version complète de CR sur le serveur lui-même. Gardez cela à l'esprit lorsque vous travaillez avec des applications tierces, elles devront peut-être créer un module de fusion que le MSI gère facilement.

Oui, nous avons une application qui nécessite de nombreuses conditions préalables. service Web, service Windows, comptes d'utilisateurs, sécurité, création de dossiers, bits GAC, etc. J'ai tout lancé. dans une belle MSI avec des actions personnalisées qui peuvent installer et désinstaller proprement. Vous avez économisé environ une heure de travail à déployer sur une nouvelle boîte.

Beaucoup d'autres applications plus petites sont simplement déployées en faisant Publier le site Web dans un dossier local, puis en ftpant le contenu vers la cible.

Cela dépend grandement de l’ampleur de votre projet, de votre environnement et de votre base d’utilisateurs internes. Je déploie rarement avec un msi car nous sommes une opération trop petite pour plusieurs environnements (à l'exception de SharePoint, c'est tout à fait différent). Nous développons et utilisons VS pour déployer des applications Web sur une boîte de développement, en supposant qu’elles soient approuvées, puis nous utilisons VS à nouveau pour déployer des applications Web.

La seule condition est que nous ayons plusieurs copies de web.config (ajoutées à test, dev et live) et que nous supprimions ensuite le suffixe du fichier pertinent en fonction de l'endroit où il a été déployé.

Ce n'est probablement pas la meilleure méthodologie (je sais que ce n'est pas le cas), mais cela fonctionne et facilite le déploiement rapide de solutions de petite à moyenne taille dans un environnement utilisateur de petite taille.

F5ToDebug ...

Vous dites qu'il est acceptable de prendre des raccourcis si vous n'avez pas le temps de le faire correctement?

& "Qui va tester le code dans l'environnement de test? &"; Vous avez dit vous-même que vous aviez des fichiers de configuration pour _test. Pourquoi ne serait-ce pas un test approprié?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top