zhufeng518 发表于 2018-9-18 06:00:11

基于git和intotify实现的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


页: [1]
查看完整版本: 基于git和intotify实现的git提交服务器自动更新的功能