2010-12-06 5 views
2

Bonne journée!Automatisation simple du bâtiment Application ASP.NET MVC 2

Je cherche une solution pour effectuer cette tâche en ligne de commande:

  • Compile application ASP.NET MVC 2.0 (1 asp.net projet et 2 projets mvc classe en 1 solution)
  • effectuer la transformation web.config
  • Supprimer des fichiers et des dossiers à partir du résultat de la compilation
  • Run bat fichier qui ajoutent svn numéro de révision à l'aide svnversion
  • Run archiveur externe pour compresser la libération
  • ont toujours la possibilité de déboguer en utilisant VS

J'utilise Visual Web Developer 2010, mon projet ont déjà Web.Release.config et Web.Debug.config.

Est-ce que cela peut être fait en utilisant MSBuild?

Merci d'avance!

Répondre

1

Oui, vous devriez être en mesure d'utiliser MSBuild pour faire la plupart sinon toutes les tâches. Découvrez les tâches de la communauté MSBuild, elles ajoutent beaucoup de fonctionnalités.

http://msbuildtasks.tigris.org/

HTH

+0

une solution pour moi, mais pour autant que je comprenne je ne peux pas écrire au niveau de la solution - seulement au niveau du projet, non? – artvolk

+0

Vous ne savez pas exactement ce que vous entendez par niveau de solution par rapport au niveau du projet? Si vous voulez dire, vous ne pouvez pas utiliser msbuild pour la solution entière, ce n'est pas correct. Oui, vous pouvez utiliser pour l'ensemble de la solution. –

1

Je ne crois pas MSBuild lui-même fera beaucoup de choses sur votre liste. Vous pouvez créer un tas de scripts pour le faire. Cependant, je recommande de jeter un oeil au serveur d'intégration continue de Hudson. Il peut déjà faire beaucoup de choses sur votre liste. C'est un système basé sur un plug-in, donc si un plug-in n'existe pas, vous pouvez rouler le vôtre. En outre, il existe une communauté assez active, vous trouverez donc de nombreux articles de blog. Voici le lien vers leur site:

http://hudson-ci.org/

Je l'ai fait aussi un blog sur la mise en route avec hudson et .net. Vous trouverez peut-être très utile aussi:

http://blog.bobcravens.com/2010/03/getting-started-with-ci-using-hudson-for-your-net-projects/

Hope this helps.

Bob

+0

Merci pour la réponse, je voudrais vraiment utiliser quelques-unes des solutions de CI (merci pour l'article, il est génial!), Mais il me semble un surpuissant dans une telle situation ... On dirait – artvolk

1

je roule généralement mon propre en utilisant Ruby + râteau. Ce qui suit prend en charge la plupart de ce que vous avez énuméré.

require 'rake/clean' 

SELF_PATH = File.dirname(__FILE__) 
PATH_TO_ROOT = SELF_PATH 
PATH_TO_WEB = "C:\\Dev\\" 
PATH_TO_MSBUILD = "C:\\Windows\\Microsoft.NET\\Framework\\v3.5\\msbuild.exe" 

CLEAN.exclude("**/core") 
CLEAN.include("*.cache", "*.xml", "*.suo", "**/obj", "**/bin", "../Deploy") 

task :build do 
    sh "#{PATH_TO_MSBUILD} /v:q #{PATH_TO_ROOT}/HUD.sln" 
end 

namespace "deploy" do 
    desc "Preps the project for deployment" 
    task :package, :project_name do |t, args| 
    begin 
     Rake::Task["clean"].invoke 
     Rake::Task["build"].invoke 
     Dir.mkdir("../Deploy") 
     sh "xcopy .\\#{args.project_name} ..\\Deploy\\#{args.project_name}\\ /S /C /F /Y /exclude:e.txt" 
     begin 
     sh "xcopy .\\#{args.project_name}\\Web.config.prod ..\\Deploy\\#{args.project_name}\\Web.config /S /C /F /Y" 
     rescue 
     end 
    rescue Exception=>e 
     puts e 
    end 
    end 
end 
+0

Merci pour l'option, j'ai créé quelque chose de similaire en utilisant les fichiers '.bat' :( – artvolk