我在我的服务器上使用git作为一个远程repo,在post-receive里面我定义了我的工作树和git-dir。
我在这个应用程序上使用node.js和forever,为了使大多数更改生效,我需要运行forever restart server.js
。通过ssh和cd登录到目录并手动操作是一件痛苦的事情。
所以我在想,是否可以在post-receive中发出一个命令,比如forever restart server.js
?
这是我的接收后文件
#!/bin/sh
git --work-tree=/var/www/example/public_html --git-dir=/var/repo/examp$
forever restart ../../../www/example/public_html/server.js
3条答案
按热度按时间nbewdwxp1#
我将节点服务器文件的绝对路径与forever restart命令一起使用。
编辑:按照Norman的规定,这应该在服务器上的.git/hooks目录中。
raogr8fs2#
你能不能不要在你的服务器的
.git/hooks
里面定义post-receive钩子。我想你可以在里面加一个bash命令来永久重启。xqkwcwgp3#
超晚回复。
在package.json中,确保forever位于deps中,并添加一个启动和停止脚本。
在你的钩子里面,只要做:
通过git部署node app更简单的方法是使用以下工具:Piriku