2012-07-14 16 views
5

rakeとalbacoreを使用して.net ASP MVCプロジェクトを構築していますが、これまで自動化できなかった部分はIISにビルドされたプロジェクトを展開しています。現在の開発者マシンでは、開発者がWebサイトを手動で作成し、ビルドによって生成されたリリースされた出力フォルダにリンクします。Rakeを使用してIIS Webサイトを作成する

私たちは私たちのCIボックスセットアップ(Teamcity)を持っているので、私はIISへのウェブサイトの設定を自動化する必要があるので、IIS上でウェブサイトを作成できるレーキタスクはありますか?私はしばらく前に見て覚えているが、それを見つけることができない。

私は、IIS 6のメタスクリプトのもの(正確な名前は記憶できません)と他のiisプラグインをインストールできます。このボックスは現在IIS 7.5を実行しています。少し不安定なようで、私のために動作しません

==編集==

私はしばらくの間は、バックinetmgrを(https://github.com/typesafe/inetmgr)だった見て覚えている1が、それ以上はサポートされていないようです。

答えて

6

未回答の最高のが、私は、私はちょうど自分自身がAPPCMD使用して何かを書いた下に提案された方法よりも簡単で何も見つけることができなかったとして:私のためのグローバルなファイル検索で上記に

def create_web_site(site_name, site_location, site_port) 
    delete_command = "#{$file["appcmd"]} delete site #{site_name}" 
    result = system delete_command 
    puts "Failed to delete site on IIS: #{$?}" unless result 

    add_command = "#{$file["appcmd"]} add site /name:#{site_name} /bindings:http/*:#{site_port}: /physicalPath:#{site_location}" 
    result = system add_command 
    raise "Failed to add site on IIS: #{$?}" unless result 

    set_app_pool_command = "#{$file["appcmd"]} set app #{site_name}/ /applicationPool:\"ASP.NET v4.0\"" 
    result = system set_app_pool_command 
    raise "Failed to bind site to .net 4 app pool on IIS: #{$?}" unless result 

    start_site_command = "#{$file["appcmd"]} start site #{site_name}" 
    result = system start_site_command 
    raise "Failed to start site on IIS: #{$?}" unless result 
end 

$file["appcmd"]をこれはc:/ windows/system32/inetsrvです。

私はより良い解決策を見つけるのが大好きです。だれかがこれを行うより良い方法を見つけたら、答えを加えてください。それがあれば正解を変えます。私が見つけたこれを行うための唯一の2つの図書館は、イルカの展開と7つのデジタルのiis rakeスクリプトでしたが、いずれも残念なことにどのように使用するかについて十分に文書化されていませんでした。

1

Capistranoをチェックアウトすることをおすすめします。 Capistranoは、Ruby/Rails/...アプリケーション用の "フレームワーク"の導入です。ドキュメントのgetting startedの部分を確認し、Windows Server with Capistranoに展開する方法についてはこのチュートリアルをご覧ください。

+0

申し訳ありません申し訳ありませんが、私は十分に明示されませんでした.netプロジェクトを使用してasp mvc、これを含める質問が変更されます。 – Grofit

関連する問題