Я делаю это для многих проектов с помощью сервера Jenkins - я могу запустить его на другом экземпляре ec2, но вы также можете запустить его на месте, если хотите.
Github уведомляет сервер Jenkins о том, чтопроизошла проверка, и задание Jenkins развертывает все файлы в нужных местах, а также уведомляет меня по SMS (или электронной почте) о том, что развертывание произошло.
(Jenkins - не единственный инструмент, который может это сделатьесть и другие).