Запустите node.js в git hook, не блокируя терминал - PullRequest
0 голосов
/ 28 марта 2019

У меня есть следующий код в Githook:

it --work-tree=/home/aero/Services --git-dir=/home/aero/Services/.git pull
ps aux | grep node | grep services-aero | awk '{print $2}' | xargs kill -9
cd /home/aero/Services
/home/aero/.nvm/versions/node/v11.12.0/bin/node bin/server-apm-dashboard-static &> /home/aero/Services/log

Когда я нажимаю, мой терминал блокируется, пока у меня уже есть &> /home/aero/Services/log.

Я могу использовать pm2 или навсегда, чтобы решить проблему, да, но мне нравится знать, как это сделать "голым".

1 Ответ

0 голосов
/ 28 марта 2019

Это похоже на перехват сервиса перезапуска.Вы должны запустить службу супервизором, а затем в хуке сказать этому супервизору перезапустить службу.Таким образом, он не может заблокировать терминал, так как сервис не является дочерним для оболочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...