首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Rake创建IIS网站

用Rake创建IIS网站
EN

Stack Overflow用户
提问于 2012-07-14 08:19:57
回答 2查看 411关注 0票数 5

我正在使用rake和albacore来构建我的.net ASP.MVC项目,但是到目前为止我还无法自动化的一部分是将构建的项目部署到IIS。目前,在开发人员机器上,我让开发人员手动创建网站,并将其链接到由构建生成的发布的输出文件夹。

然而,既然我们已经设置了CI框(Teamcity),我需要将网站的设置自动化到IIS,那么有什么rake任务可以在IIS上创建网站吗?我记得以前见过一次,但找不到。

我可以安装IIS 6元脚本(不记得它的确切名称)和任何其他iis插件,该框目前运行IIS 7.5。

==编辑==

我记得前一段时间看到的是InetMgr (https://github.com/typesafe/inetmgr),它看起来有点不稳定,对我不起作用,但似乎没有得到进一步的支持。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-16 11:34:22

这不是最好的答案,但由于找不到比下面提出的方法更简单的方法,我只是用appcmd自己写了一些东西:

代码语言:javascript
复制
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 32/inetsrv。

我想找到一个更好的解决方案,所以如果有人遇到了一个更好的方法,添加答案,我会改变正确的答案,如果它更好。我发现的唯一两个库是海豚部署和7个数字的iis rake脚本,这两个库似乎都没有很好地说明如何使用。

票数 6
EN

Stack Overflow用户

发布于 2012-07-14 11:15:30

我建议你去看看卡皮斯特拉诺。Capistrano是用于ruby/rails/.应用程序。查看文档的开始部分,然后查看如何部署到Windows服务器与Capistrano的“教程”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11482177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档