我如何CD到文件夹并以git hook post-receive开始运行npm?

时间:2019-03-28 02:28:07

标签: node.js git npm githooks

基本上我想:

git --work-tree=/home/aero/server --git-dir=/home/aero/server/.git pull;
ps aux | grep node | grep server-aero-static | awk '{print $2}' | xargs kill -9;
cd /home/aero/server;
npm start;

我认为这在接收后不起作用,为什么?而我该如何运作呢?

1 个答案:

答案 0 :(得分:0)

只要在/home/aero/server中正确设置了远程“源”,Git部分就可以正常工作,以便该存储库正常工作(如在“ Git post-receive not working correctly”中一样)。

如果该命令被阻塞,npm start部分可能会出现问题。
在这种情况下(意味着在Git挂钩中执行),您可以考虑using pm2来启动应用程序,如A Friendly Guide To Automate Deployment For Node.js Apps With Git Hooks的“ aunnnn”中所述。

pm2 start npm --name 'my-app' — start \
&& echo "post-receive: app started successfully with pm2".