码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-04-06 06:31:54      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:inotify git

基于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


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

标签:inotify git

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!