У меня была похожая проблема с желанием установить монитор сервера NewRelic на все мои экземпляры EC2.Я закончил тем, что создал новую роль ('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, поскольку при этом устанавливается демон, который необходимо отслеживать, но он кажется очень тяжелым для большинства пользовательских конфигураций.