我正在尝试与Capistrano部署我的RoR应用程序。一切都很好,直到我在我的Capistrano配置中引入了另一个角色:Web角色,它应该是我的HTTP /反向代理服务器。我如何分离Capistrano中的角色?
我的理解是:应用程序角色应该是指应用程序服务器(thin,mongrel,无论)和web角色应该指的是前端服务器(nginx,apache),所以我很困惑即使Capistrano在默认情况下将其分开,也可以选择在所有角色上运行所有任务。
现在我的问题是我无法使部署:update_code仅在具有:app角色的服务器上运行,例如,因为capistrano错误,因为它会尝试在我的Web服务器上运行update_code ,我甚至没有安装git(我不需要它...)。有人在做这件事吗?有人可以分享代码吗?
TIA,ngw
我很困惑......关于:web角色的文档说:“这被认为是你的web服务器(阅读:Apache/nginx /等)”,关于应用角色说:“这些被假定为成为您的应用程序服务器,在Ruby环境中,这意味着像Mongrel或Mongrel Cluster;它也可以是您的Passenger服务器。“为什么默认运行update_code,symlink,基本上所有的部署方式都完全相同:web和:app?我试图覆盖所有的默认任务只运行在:应用程序,但它是一个PITA :)我做错了什么? – ngw