2008-11-04 5 views

Répondre

4

Je pense à l'option de publication dans le cadre de l'ensemble d'outils VS.NET que les développeurs peuvent utiliser pour publier des sites Web sur des machines de développement. Ce n'est pas vraiment conçu pour être un véritable déploiement.

Si vous avez besoin d'actions personnalisées, un projet de déploiement Web serait plus adapté à un déploiement réel que plusieurs personnes autres que le développeur exécutent régulièrement et que vous souhaitez créer à chaque génération.

Je regarderais aussi trois autres options:

  • PowerShell: Une bonne façon de scénario contre IIS, créer des sites Web, etc. Vous pouvez même créer des cmdlets à partir du code OO (comme C#) que votre script peut appeler. De nombreuses entreprises informatiques professionnelles l'utilisent pour déployer de grands sites Web.

  • MSDeploy: Un nouvel outil de déploiement pour les sites web qui peuvent se répliquer un vroot sur plusieurs serveurs. Très bon pour avoir votre image d'or et ensuite le dynamitage à divers endroits.

  • C# application: Si vous êtes plus développeur avancé, vous pouvez toujours écrire votre propre application qui xcopies fichiers (via Process) et utilise WMI pour configurer IIS. Plus dur, mais vous avez un contrôle complet.

1

Il semble que vous pouvez personnaliser la tâche Publier via la cible _CopyWebApplication MSBuild. Ou vous pouvez au moins créer un fichier batch qui appellera cette cible, que vous pouvez personnaliser.

Plus de détails here et here.

2

pouvez utiliser les options MSBuild personnalisées. En fait, vous pouvez exécuter MSBuild sur un fichier sln configuré pour publier en tant que site Web, puis copier les fichiers de site Web précompilés sur un serveur Web. Nous faisons cela en interne en utilisant Cruise Control.net de Thoughtworks.

Le fichier sln contient des informations sur le site où précompilé sera situé:

Release.AspNetCompiler.VirtualPath = "/PrecompiledWeb" 
Release.AspNetCompiler.PhysicalPath = "..\Web\" 
Release.AspNetCompiler.TargetPath = "..\..\PrecompiledWeb\" 
Release.AspNetCompiler.Updateable = "true" 
Release.AspNetCompiler.ForceOverwrite = "true" 
Release.AspNetCompiler.FixedNames = "true" 
Release.AspNetCompiler.Debug = "False" 
2

Nous n'utilisons pas publier pour déployer nos projets web, mais nous avons utilisé pour utiliser des projets de déploiement Web. Quand nous sommes passés à Visual Studio 2008, nous avons eu beaucoup de problèmes avec eux, alors nous nous sommes débarrassés d'eux. Ce que je peux vous dire, c'est que nous avons pu remplacer la fonctionnalité WDP que nous utilisions avec aspnet_merge.exe. Nous utilisons une combinaison de msbuild et aspnet_merge.exe dans un script pour obtenir nos déploiements.

+0

Wow. Je n'avais même pas entendu parler d'aspnet_merge jusqu'à ce que vous le mentionniez. Voici les documents: http://msdn.microsoft.com/en-us/library/bb397866.aspx –

Questions connexes