基于git和intotify实现的git提交服务器自动更新的功能

时间:2015-04-06 06:30:03   收藏:0   阅读:127

基于inotify实现nodejs的提交后自动同步

首先在一台server上使用nodejs+express启动一个服务器,并使用supervisor 支持修改文件后

自动重启的功能


然后在这个工程上添加git仓库的引用(指向同一个服务器的另一个git仓库所对应的位置)

然后在所有人的本地开发环境也从server仓库中clone git 工程,并进行开发。


当提交代码后,使用inotify监控server 的git仓库文件变化。

如果发生变化后,通知线上运行的server 进行一次git pull,操作,由于supervisor ,线上服务

将自动重启(更行),达到通过git提交自动更新线上服务的目的。


这里的关键是inotify这个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


原文:http://power9li.blog.51cto.com/8267716/1629157

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!