Gro*_*fit 5 ruby asp.net iis rake
我正在使用rake和albacore来构建我的.net ASP MVC项目,但是到目前为止我无法实现自动化的一部分是将构建的项目部署到IIS.目前在开发人员机器上,我让开发人员手动创建网站并将它们链接到构建生成的已发布输出文件夹.
但是现在我们有了CI框设置(Teamcity),我需要自动将网站设置为IIS,那么有没有可以在IIS上创建网站的rake任务?我记得有一段时间回来看但却找不到它.
我可以安装IIS 6元脚本的东西(不能记住它的确切名称)和任何其他iis插件,该框目前运行IIS 7.5.
==编辑==
我记得有一段时间回来的是InetMgr(https://github.com/typesafe/inetmgr),它似乎有点不稳定,对我不起作用,但似乎不再支持.
不是最好的答案,但由于我找不到比下面提出的方法更简单的东西,我只是用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
Run Code Online (Sandbox Code Playgroud)
$file["appcmd"] 在上面是我的构建脚本的全局文件查找,这是c:/ windows/system32/inetsrv.
我很乐意找到一个更好的解决方案,所以如果有人遇到更好的方法,这样就添加答案,如果有更好的话,我会改变正确的答案.我发现只有2个用于执行此操作的库是dolphin部署和7个数字的iis rake脚本,但不幸的是,它们都没有详细记录如何使用.