30 votes

Étape-Par-Étape ASP.NET Automatisé de construction/Déploiement

Semble que il ya tellement de nombreuses façons différentes de l'automatisation de la construction/déploiement qu'il devient difficile d'analyser à travers tous les différents scénarios que les gens soutien à des tutoriels sur le web. Donc, je voulais présenter la question de la stackoverflow foule ... quelle serait la meilleure façon de mettre en place un système automatisé de génération et de déploiement du système à l'aide de la configuration suivante:

  • Visual Studio 2008
  • Projet D'Application Web
  • CruiseControl.NET

L'une des premières choses que j'ai essayé était d'avoir CCnet automatiquement zip de la sortie et de le copier sur le serveur, mais cela nécessite un travail manuel à décompresser au lieu de destination. Cependant, si nous essayons de copier tous les fichiers individuellement, alors il pourrait prendre un certain temps si c'est une grande application (serveur de build vit à l'extérieur du centre de données dans notre bureau ... je sais).

Également un intérêt particulier est la manière dont nous soutenir de multiples environnements, comme nous l'avons dev, qa, uat, et puis, bien sûr, prod.

MSDeploy semble très intéressant, mais à moins que je suis de l'interprétation de la littérature de manière incorrecte, n'aide pas dans le scénario de déploiement à partir de la sortie d'un serveur de build. Si quoi que ce soit, il semble que ça va être utile dans le déploiement d'une version à travers une accumulation de la ferme ... mais même pour le déploiement d'un environnement à un autre, on aurait à modifier manuellement les paramètres de configuration et les Url de service web, etc.

15voto

Sam Wessel Points 4906

J'ai récemment passé quelques jours de travail sur l'automatisation des déploiements dans mon entreprise.

Nous utilisons une combinaison de CruiseControl, NAnt, MSBuild pour générer une version de l'application. Ensuite un script séparé utilise MSDeploy et XCopy pour la sauvegarde du site en direct et le transfert de la nouvelle fichiers.

Notre solution est brièvement décrit dans la réponse à cette question http://stackoverflow.com/questions/45783/automate-deployment-for-web-applications

6voto

Iain Points 2909

Vous pourriez être intéressé par MSDeploy. Voici un Scott, Hanselman post sur ce. Il est seulement disponible comme un aperçu technique à l'heure actuelle (septembre 2008), mais il est intéressant d'évaluer l'encontre de vos exigences.

3voto

netbuild Points 101

Il est un autre outil de construction (un de très intelligent wrapper) appelé NUBuild. Son poids léger, de l'open source et extrêmement facile à installer et fournit presque no-touch de l'entretien. J'aime vraiment ce nouvel outil et nous nous sommes fait un outil de référence pour notre génération continue et le processus d'intégration de nos projets (nous avons environ 400 projets à travers 75 développeurs). De l'essayer.

http://nubuild.codeplex.com/

  • Facile à utiliser l'interface de ligne de commande
  • Capacité de cibler tous .Net framework la version c'est à dire 1.1, 2.0, 3.0 et 3.5
  • Prend en charge XML de configuration
  • Supporte à la fois le projet et le fichier références
  • Génère automatiquement les "complet commandé construire la liste" pour une projet – Pas de touche d'entretien.
  • Capacité à détecter et afficher les dépendances circulaires
  • Effectuer la compilation parallèle - automatiquement décide de l' les projets dans le générés construire la liste peut être construit de façon indépendante.
  • La capacité à gérer le proxy assemblées
  • Fournit une indication visuelle de la construction processus, par ex. en montrant "% terminée", "l'état actuel", etc.
  • Génère détaillée du journal de l'exécution à la fois XML et le format de texte
  • Facilement intégré avec Cruise-Control.Net continue système d'intégration de l'
  • Peut personnalisé utiliser l'enregistreur comme XMLLogger lorsque le ciblage 2.0 + version
  • Capacité à analyser les journaux d'erreur
  • Capacité à déployer construit assemblées emplacement spécifié par l'utilisateur
  • Possibilité de synchroniser le code source avec source-système de contrôle de la
  • La Version de la capacité de gestion

2voto

Chris Miller Points 2552

Vous avez la possibilité d'exécuter des commandes à distance? Le PsExec utilitaire de Systinternals serait de les laisser exécuter une ligne de commande unzip programme sur la machine distante. Si vous avez un script qui copie le construire en tant que .fichier zip sur le site distant, vous auriez juste besoin d'une ligne pour la PsExec appel pour décompresser les fichiers.

1voto

Simon Steele Points 8344

J'avais une question liée au sujet de l'obtention d'un déploiement d'un ensemble de fichiers à partir d'une version automatique. J'ai trouvé Web des Projets de Déploiement (les liens et tous dans la vieille question) fait ce que j'ai besoin, elles sont un VS et MSBuild add-on.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X