【发布时间】:2011-02-07 16:36:14
【问题描述】:
我有一个 Rails 应用程序需要部署到 3 个服务器 - machine1.com、machine2.com 和 machine3.com。我希望能够一次将它部署到所有机器上,并单独部署到每台机器上。有人可以帮助我使用骨架 Capistrano 配置文件/配方吗?应该全部在 deploy.rb 中还是应该在 machine1.rb 等中拆分出来?
我认为让 Capistrano 接受命令行参数的方法是正确的,但是当我尝试在命名空间中设置角色时,它就窒息了。我将'hosts = 1,2,3'作为参数传递,并将角色:app/web/db 设置为“machine#{host}.com”,然后拆分命令并进入 each do |host | {}...
无论如何,除了在每次运行 cap:deploy 之前创建 4 个不同的 deploy.rb 文件并重命名它之外,我很难过。我希望能够做到以下几点:
cap deploy:machine1:latest_version_from_svn
cap deploy:all_machines:latest:version_from_svn
只是不知道它是否应该全部放在 deploy.rb 中并与命名空间分开,还是应该分成多个 *deploy**.rb 文件。
【问题讨论】: