1. 在发布服务器上创建应用
首先用express 创建 nodejs 工程 参考 express 官方教程
然后初始化git
git init
git commit -a -m "init"
2. 在发布服务器上配置git 目录
将刚创建的nodejs工程对应的.get文件copy到/develop/aisweb/下
编辑 .git/config 文件
令bare = true
目的是只作为版本控制
3.到开发机上使用git客户端clone项目
git clone ${用户名}@:${发布服务器IP}/develop/aisweb/.git
这样本地就可以对代码进行开发了
4.接下来是修改了本地代码后如何自动发布了
本地执行 git commit -a -m "some log"
git push
这个命令本身只能提交代码到发布服务器,这里我们使用一个linux工具inotify,它
可以监听文件的改变
5. 使用shell脚本实现git文件监听
shell脚本如下:
#!/bin/sh
inotifywait -rme modify,attrib,move,close_write,create,delete,delete_self /develop/version_controller/AIS/aisweb/.git | while read file;
do
if [ "$file" == "/develop/version_controller/AIS/aisweb/.git/logs/refs/heads/ MODIFY master" ]; then
echo ====== modify master!!!;
cd /develop/AIS/aisweb/; git pull
fi
done
yum install inotify-tools
while read file 可以监控inotifywait的命令输出
然后我选择了MODIFY master 为监控点
当发现这条命令式,执行git pull操作
6. nodejs在文件更改后默认是不能自动重新发布的
需要安装一个插件 supervisor:
npm -g install supervisor
之后就不需要使用node来启动应用了使用supervisor替换node命令“
supervisor server.js
这样,我们在本地提交代码后,会执行第5步进行git pull,
再接着是第6步,不需要重启nodejs,自动同步,只需要刷新一下网页就可以方便的看到更改了!