使用git hooks實現代碼自動部署更新

環境:CentOS 7

先說下整體思路:在服務器中創建遠程倉庫A(裸倉庫)和本地倉庫B(一般倉庫)。然後在倉庫A中創建使B git pull A的腳本,並每當有用戶 git push A的時候就觸發該腳本。

1. 初始化兩個倉庫

兩個倉庫的目錄分別是 A:/home/mycode/test.git 和 B:/home/www/test.git

創建倉庫A可以參考點擊打開鏈接。

創建倉庫B則如同在本地創建倉庫一樣

cd /home
mkdir www
chown git www/
cd www
#注意,這裏要初始化爲一般倉庫而非裸倉庫
git init test.git
chown -R git test.git
2. 在倉庫A中配置hooks

cd /home/mycode/test.git/hooks
vi post-receive
然後輸入如下內容並保存

unset GIT_DIR
 
#進入倉庫B目錄
cd /home/www/test.git
#執行git pull命令
git pull /home/mycode/test.git master
#返回倉庫A並退出
cd /home/mycode/test.git
exit 0
賦予其權限

chmod +x /home/mycode/test.git/hooks/post-receive
然後我們在本地向倉庫A中 push 文件後就可以在倉庫B中看到該文件。
--------------------- 


原文:https://blog.csdn.net/zhiyual/article/details/79825376 

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