我正在使用Rubber gem在亚马逊ec2上部署。它很好地部署和配置了ubuntu实例,但是我需要在服务器上安装额外的模块(而不是ruby模块)。如何在部署期间使用橡皮运行其他脚本?
一个代码样本将不胜感激,因为这是我第一次做这种事情。
发布于 2012-04-23 03:08:18
我在想要在所有EC2实例上安装NewRelic服务器监视器时遇到了类似的问题。我最终创建了一个新角色('newrelic'),并将其添加到我的所有服务器。
创建自定义角色很简单:
Create for >根据module的需要,
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有一定的意义,因为它安装了一个需要监控的守护进程,但对于大多数自定义配置来说,它感觉非常重要。
https://stackoverflow.com/questions/9534568
复制相似问题