Как правильно настроить деплой при разных окружениях и серверах?
Здравствуйте!
Есть 2 ветки: master и dev. Под каждую ветку свой сервер (master и dev), репозиторий лежит на Gitlab. Пока не будут проверены коммиты в dev-ветке, они не сливаются в master. На dev-сервере настроен автодеплой и все изменения которые пушатся обновляются там моментально. На master-сервер ветки мерджатся вручную, а потом делает git pull, выполняются миграции для базы, тоже вручную. При таком, подходе, некоторое время сайт может не работать.
Подскажите, можно ли как-то автоматизировать работу с master-сервером и как можно безболезненно накатывать в данной схеме изменения? Или может вы знаете, более лучшую схему подобного взаимодействия.