如何使用 Rubber gem 运行其他脚本?

Ita*_*y k 4 deployment ubuntu capistrano ruby-on-rails

我正在使用 Rubber gem 在 Amazon ec2 上进行部署。它很好地部署和配置了 ubuntu 实例,但我需要在服务器上安装其他模块(不是 ruby​​ 模块)。在部署期间如何使用橡胶运行其他脚本?
代码示例将不胜感激,因为这是我第一次做这种事情。

gmc*_*ton 5

我想在我的所有 EC2 实例上安装 NewRelic 服务器监视器时遇到了类似的问题。我最终创建了一个新角色('newrelic')并将其添加到我的所有服务器中。

创建自定义角色很简单:

  1. 创建一个config/rubber/deploy-[rolename].rb(通过复制现有的)
    • 更改任务命名空间
    • 改变:install:bootstrap:start/:stop/:restart任务的需要,请模块
  2. 创建一个 config/rubber/rubber-[rolename].rb
    • 在部署文件中添加您需要引用的任何变量
  3. 如有必要,创建一个config/rubber/role/[rolename]目录并添加任何必需的文件(例如[rolename]-upstart.conf
  4. 通过运行将角色添加到您的服务器 cap rubber:add_role

最简单的方法是先复制现有角色并对其进行调整以执行您想要的操作。

关于自定义角色是否是实现此目的的正确方法,尚无定论。这对 newrelic 有一定意义,因为它安装了一个需要被监控的守护进程,但对于大多数自定义配置来说感觉非常重量级。