Я опишу подход, который в настоящее время работает для меня для регулярных (часто ежедневных) выпусков для небольшого числа экземпляров на EC2:
- Я настроил свой проект с rebar и проверил его вgithub.
- Все мои зависимости перечислены в моем файле rebar.config (они тоже на github).
- Мой Makefile выглядит так же, как я описал здесь .
- В моем образе EC2 только стандартная сборка erlang и никаких других библиотек по умолчанию не установлено.
- Чтобы создать новый узел, я запускаю экземпляр, клонирую свой репозиторий git и запускаю
make
.Это извлечет мои зависимости и соберет все. - Чтобы обновить мой код, я делаю
git pull
и rebar update-deps
.В зависимости от того, что изменилось, я могу перезапустить узел или, довольно часто, я присоединяюсь к работающему узлу и перезагружаю обновленные модули.Это помогает запускать и прикреплять сценарии как часть вашего проекта.
Может быть полезно посмотреть, как упакован такой проект, как webmachine .
Я не знаю много о стандартной системе управления релизами OTP, кроме того, что это выглядит как большая работа.Поскольку это, кажется, противоречит быстрому развертыванию, я никогда не делал серьезных попыток - хотя я уверен, что это имеет смысл для других проектов.