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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章