我正在使用Rubber gem在Amazon ec2上部署。 它很好地部署和配置了ubuntu实例,但我需要在服务器上安装其他模块(而不是ruby模块)。如何在部署期间使用橡胶运行其他脚本? 一个代码示例将不胜感激,因为这是我第一次做这种事情。
答案 0 :(得分:4)
我有一个类似的问题,想要在我的所有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有一定意义,因为它安装了一个需要监控的守护进程,但对于大多数自定义配置来说它感觉非常重要。