Несколько установок моего приложения - как мне с этим справиться

У меня есть приложение, написанное на PHP, MySQL и т. д. Приложение имеет несколько зависимостей, таких как beanstalkd, Solr и несколько PHP расширений.

Для каждого клиента у нас есть отдельная установка приложения, либо на общем с другими клиентами сервере, либо на сервере только этого клиента.

На данный момент мы используем сценарий Puppet для загрузки новых клиентов, а затем мы вручную переходим к каждому клиенту, чтобы сделать git pull, обновить базу данных и т.д., когда что-то меняется.

Мы ищем инструмент, который обладает как можно большим количеством следующих возможностей:

  1. Веб-интерфейс, который позволяет нам видеть всех клиентов и их текущую ревизию
  2. Возможность загружать новые установки
  3. Возможность обновлять существующие установки до определенной ревизии или ветки

Мы не ищем инструмент для загрузки новых серверов - мы все еще делаем это вручную. Вместо этого мы ищем способ автоматизировать установку клиентов на существующий сервер.

Достаточно ли для этого Chef или Puppet, есть ли более подходящий инструмент, или вы рекомендуете создать что-то самостоятельно?

6
задан phidah 9 January 2012 в 20:09
поделиться