5

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

ただし、CI ボックスのセットアップ (Teamcity) ができたので、IIS への Web サイトのセットアップを自動化する必要があります。IIS で Web サイトを作成できるレーキ タスクはありますか? 少し前に見た覚えがあるのですが、見つかりません。

IIS 6 メタ スクリプト (正確な名前を思い出せません) とその他の iis プラグインをインストールできます。ボックスは現在 IIS 7.5 を実行しています。

== 編集 ==

少し前に見たのを覚えているのは InetMgr (https://github.com/typesafe/inetmgr) で、これは少し不安定で動作しませんが、それ以上サポートされていないようです。

4

2 に答える 2

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 です。

より良い解決策を見つけたいので、誰かがこれを行うより良い方法に出くわしたら、答えを追加してください。それがより良い場合は、正しい答えを変更します。私が見つけたこれを行うためのライブラリは、dolphin deploy と 7 digital の iis rake スクリプトの 2 つだけでした。

于 2012-07-16T11:34:22.637 に答える
1

Capistranoをチェックすることをお勧めします。Capistranoは、ruby / rails/...アプリケーションのデプロイメント「フレームワーク」です。ドキュメントの開始部分を確認してから、Capistranoを使用してWindowsServerに展開する方法に関するこの「チュートリアル」を確認してください。

于 2012-07-14T11:15:30.207 に答える