2010-12-06 101 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 
相關問題