【发布时间】:2012-03-02 14:02:59
【问题描述】:
我正在使用 Rubber gem 部署在 Amazon ec2 上。
它很好地部署和配置了 ubuntu 实例,但我需要在服务器上安装其他模块(不是 ruby 模块)。如何在部署期间使用橡胶运行其他脚本?
代码示例将不胜感激,因为这是我第一次做这种事情。
【问题讨论】:
标签: ruby-on-rails deployment ubuntu capistrano
我正在使用 Rubber gem 部署在 Amazon ec2 上。
它很好地部署和配置了 ubuntu 实例,但我需要在服务器上安装其他模块(不是 ruby 模块)。如何在部署期间使用橡胶运行其他脚本?
代码示例将不胜感激,因为这是我第一次做这种事情。
【问题讨论】:
标签: ruby-on-rails deployment ubuntu capistrano
我想在我的所有 EC2 实例上安装 NewRelic 服务器监视器时遇到了类似的问题。我最终创建了一个新角色('newrelic')并将其添加到我的所有服务器中。
制作自定义角色很简单:
config/rubber/deploy-[rolename].rb(通过复制现有的)
:install、:bootstrap 和 :start/:stop/:restart 任务config/rubber/rubber-[rolename].rb
config/rubber/role/[rolename] 目录并添加任何需要的文件(例如[rolename]-upstart.conf)cap rubber:add_role 将角色添加到您的服务器
最简单的方法是从复制现有角色开始,然后对其进行调整以做你想做的事。
对于自定义角色是否是执行此操作的正确方法,尚无定论。这对 newrelic 来说是有意义的,因为它安装了一个需要被监控的守护进程,但对于大多数自定义配置来说,它感觉非常重量级。
【讨论】: