最善の答えではありませんが、以下で提案されている方法よりも簡単なものが見つからなかったため、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 つだけでした。