我一直在网上寻找人们在使用 chef/capistrano 扩展其网站时采用的做法,但没有找到太多关于这方面的程序信息,所以我想在这里问一下。
我们在服务器上有限地使用 chef,并使用 capistrano 进行部署。出于各种原因,我们不会使用 chef 部署资源来部署我们的应用程序。我们将使用 chef 来引导应用服务器以扩展我们的网站。
据我所知,我要做的是使用应用服务器角色引导节点,然后运行 cap deploy。这将使用 ruby 和 fog gem 以及一些自定义脚本来完成。
cap HOSTFILTER:ip.add.ress.here production deploy
我的问题是:
- 除了使用 chef 进行部署外,其他人在扩展网站和部署时还使用哪些常见方法
- 主机过滤器是实现此目的的最佳方法吗?
- 扩展时我应该重新部署到所有节点而不是仅仅单个节点吗?
任何其他的疑问/等等都值得赞赏。
答案1
您可以使用capistrano-chef
,这是一个 RubyGem,它允许您使用 Chef Search 角色名称来进行部署。
可能不相关的是,Evan Machnic 在 Ruby Brigade 会议的演示中有一个关于如何使用 Chef 和 capistrano 的视频。
您还可以将其作为 Chef 菜谱内的资源进行部署。
有人在这里写了博客讨论这个问题: