2010-12-06 130 views
2

美好的一天!构建ASP.NET MVC 2应用程序的简单自动化

我正在寻找从命令行执行这样的任务的解决方案:

  • 编译ASP.NET MVC 2.0应用程序(1个asp.net mvc的项目和2类项目1溶液)
  • 执行的Web.config改造
  • 从编译的结果中删除一些文件和文件夹
  • 运行蝙蝠文件,添加使用svnversion,如果
  • 运行外部归档压缩版本SVN版本号
  • 仍然需要使用VS

我使用的Visual Web Developer 2010调试的能力,我的项目已经有Web.Release.configWeb.Debug.config

这可以使用MSBuild完成吗?

提前致谢!

回答

1

是的,你应该能够使用的MSBuild做最如果不是所有的任务。查看MSBuild社区任务,他们添加了相当多的功能。

http://msbuildtasks.tigris.org/

HTH

+0

好像对我来说是一个解决方案,但据我所知,我无法在解决方案级别编写脚本 - 仅在项目级别,对吗? – artvolk 2010-12-07 08:20:38

+0

不确定解决方案级别与项目级别意味着什么?如果你的意思是,你不能在整个解决方案中使用msbuild,这是不正确的。是的,您可以使用整个解决方案。 – 2010-12-07 18:43:44

1

我不相信MSBuild本身会在你的清单上做很多事情。你可以创建一堆脚本来做到这一点。不过,我建议看看Hudson持续集成服务器。它已经可以在你的清单上做很多事情。它是一个基于插件的系统,所以如果插件不存在,你可以推出自己的插件。此外还有一个相当活跃的社区,所以你会发现很多博客文章。这里是链接到他们的网站:

http://hudson-ci.org/

我还做了有关开始使用Hudson和.NET博客文章。你可能会发现,也有用:

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

希望这有助于。

鲍勃

+0

感谢您的答复,我真的很想用一些CI解决方案(感谢文章,这是伟大的!),但在我看来,在这样的情况下矫枉过正... – artvolk 2010-12-07 08:17:46

1

我使用红宝石+佣金通常推出自己的。以下内容将关注您列出的大部分内容。

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 
相关问题