Было несколько упоминаний о Git-хуках в качестве ответов / комментариев, которые работали для меня в прошлом ... так что вот мой рецепт, если кому-то еще понадобится больше подробностей.
Я использую комбинацию git post-receive hook и node-supervisor для выполнения простого автоматического развертывания (при условии, что вы используете удаленный репозиторий git на этомmachine).
Настройте ваш хук после получения
В вашем хранилище: sudo vi hooks/post-receive
И он должен выглядеть примерно так:
#!/bin/sh
GIT_WORK_TREE=/home/path/to/your/www
export GIT_WORK_TREE
git checkout -f
Установить права доступа к файлам: chmod +x hooks/post-receive
Git обновит файлы в каталоге вашего приложения после отправки в репозиторий.
Запустите узел с помощью Node-Supervisor
Вам потребуется установить Node-Supervisor на свою машину в качестве модуля глобального узла: sudo npm install supervisor -g
Теперь просто запустите приложение узла с узлом-supervisor, и он будет следить за изменениями файлов в вашем рабочем каталоге:
supervisor /home/path/to/your/www/server.js
(примечание supervisor
вместо node
).