Устанавливаем и обновляем приложение из GIT средствами YUM, rpm и Puppet

Недавно появилась необходимость автоматизировать внедрение приложений из GIT на сервера.

В данной статье я решил описать свой опыт внедрения.

Поступило интересное задание по установке/обновлению приложения на серверах компании имея следующие данные:
* Приложение расположено в GIT
* Версия приложения можно узнать командой "git tag"
* Список серверов и путь где должно находиться приложение

Поскольку исторически так сложилось, что в компании используется RPM-based OS, то, IMHO, в данном случае наиболее правильным решением было реализовать упаковку приложения в RPM-пакет с последующим распространением его через puppet. Соответственно puppet устанавливает ПО и накатывает необходимый конфигурационный файл по шаблону.

Процесс настройки системы:


  • Настройка yum-репозитория
  • Установка и настройка nginx
  • Скрипт автоматического build с размещением его в yum-репозиторий
  • Автоматическая проверка обновлений и привязка к созданию build
  • Настройка puppet


Читать дальше →

© Habrahabr.ru