Как мне запустить дополнительные скрипты, используя резиновый камень? - PullRequest
3 голосов
/ 02 марта 2012

Я использую камень Rubber для развертывания на Amazon ec2. Он хорошо разворачивает и настраивает экземпляр ubuntu, но мне нужно установить дополнительные модули (не ruby-модули) на сервере. Как я могу запустить дополнительные сценарии, используя резину во время развертывания?
Хотелось бы получить пример кода, так как я впервые делаю подобные вещи.

1 Ответ

4 голосов
/ 22 апреля 2012

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

...