2010-12-06 14 views
2

おはよう!ASP.NET MVC 2アプリケーションを構築する簡単な自動化

私は、コマンドラインから、このようなタスクを実行するためのソリューションを探しています:

  • コンパイルASP.NET MVC 2.0アプリケーション(1つのasp.net MVCプロジェクトと1つの溶液中の2クラスプロジェクト)
  • Web.configファイル変換を実行し
  • コンパイル結果からリリースを圧縮するためにつけません
  • 実行外部のアーカイバを使用してのsvnのリビジョン番号を追加するファイル名を指定して実行バットファイルをいくつかのファイルとフォルダを削除します。
  • はまだ私のプロジェクトはすでにWeb.Release.configWeb.Debug.configを持って、私は、Visual Web Developerの2010を使用していVS

を使用してデバッグする能力を持っています。

これはMSBuildを使用して行うことができますか?

ありがとうございます!

答えて

1

はい、あなたはほとんどの場合ではないすべてのタスクを行うためのMSBuildを使用することができるはずです。 MSBuild Community Tasksをチェックしてください。かなりの機能が追加されています。

http://msbuildtasks.tigris.org/

HTH

+0

はのように思えます私の解決策ですが、私が理解する限り、私はソリューションレベルでスクリプトを作成できません - プロジェクトレベルでのみ、そうですか? – artvolk

+0

ソリューションレベルとプロジェクトレベルの違いを確認できませんか?つまり、ソリューション全体に対してmsbuildを使用することはできませんが、それは正しくありません。はい、ソリューション全体で使用できます。 –

1

私はMSBuild自体があなたのリストの多くを行うとは思わない。これを行うスクリプトをたくさん作成することができます。しかし、私はHudson連続統合サーバーを見てみることをお勧めします。それはすでにあなたのリストの多くを行うことができます。これはプラグインベースのシステムなので、プラグインが存在しない場合は、自分でロールバックすることができます。さらに、かなり活発なコミュニティがあるので、多くのブログ記事を見つけることができます。ここでは自分のサイトへのリンクは次のとおりです。

http://hudson-ci.org/

私もハドソンと.NETを使い始めるに関するブログ記事を行いました。あなたはまた、それが役立つことがあります。

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

・ホープ、このことができますし。

ボブ

+0

応答のおかげで、私は本当にCIソリューションの一部を(記事のおかげで、それは素晴らしいことだ!)を使用したいのですが、それはこのような状況での行き過ぎに思える... – artvolk

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 
+0

オプションありがとう、私は '.bat'ファイルを使って同様のものを作成しました:( – artvolk

関連する問題