Автоматизация/поддержка сред разработки, производства и подготовки

В настоящее время в моей компании есть три сервера: Development, Staging и Production. Когда запрашивается новая функция, она разрабатывается в среде «Разработка» (сервер/ВМ). Когда разработчик удовлетворен завершенностью, он перемещает его в промежуточную среду и тестирует. После полного тестирования он перемещается на рабочий сервер.

Проблема в том, что команда очень маленькая и сложно вручную поддерживать Staging and Production Environment. Нам нужно, чтобы промежуточная среда была точно такой же, как производственная среда, и каждый раз делать это вручную требует много времени.

Есть ли программное обеспечение, которое может помочь? или процесс?

Мы думали, что один из возможных методов — это клонирование производственной среды каждый раз и использование ее в качестве промежуточной. После того, как функция протестирована, объедините две виртуальные машины. Но это может занять много времени и вызвать простои в производственной среде.

Любые подсказки/предложения?

Спасибо


person user3711455    schedule 02.12.2014    source источник


Ответы (1)


Я бы посоветовал вам взглянуть на инструмент подготовки среды, такой как Ansible, Puppet или Chef. Требуется некоторое время, чтобы привыкнуть к этому, но после этого вы сможете автоматически инициализировать любую систему (будь то сервер или просто машина разработчика) всего несколькими командами терминала/командной строки.

person Viktor Benei    schedule 03.12.2014
comment
Вот что я тоже нашел в сети. Похоже, Vagrant+Puppet/Chef — это то, что индустрия использует сейчас. - person user3711455; 03.12.2014
comment
Мы используем Ansible для всего, даже для настройки виртуальной машины разработчика, это потрясающе, когда вы можете эффективно с ним работать, и IMO из этих трех Ansible является самым простым в настройке. - person Viktor Benei; 03.12.2014