Мы используем Springloops для управления нашими развертываниями.Это позволяет нам настраивать разные серверы для каждой ветви каждого репозитория.Вы просто перемещаетесь в центральное хранилище и управляете развертыванием оттуда.Развертывание может быть автоматическим или ручным.
Существует некоторая поддержка для выполнения пользовательских обратных вызовов, так что вы можете настроить конечную точку URL где-нибудь в вашем кластере (может быть для каждого проекта), которая принимает уведомления, которые выдвигаютсябыло сделано, что может вызвать ваши пользовательские сценарии.
Это работает хорошо, потому что он берет на себя ответственность за управление исходным кодом с серверов, если требуется новое развертывание на новый сервер, очень легко добавить новыйсервер в Springloops и нажмите на него, вместо того, чтобы клонировать git-репозиторий на каждом новом сервере и настроить какую-либо cron или запускаемую задачу для обновления репозитория.
Существует множество других возможных комбинаций инструментов командной строки и третьихсторонние сервисы, но мы попробовали несколько, и Springloops более чем приемлем для управления развертыванием десятков проектов, над которыми мы сейчас работаем.
Стоит посмотреть.