Git Hook 是 Git 提供的一个钩子,能被特定的事件触发后调用。其实,更通俗的讲,当你设置了 Git Hook 后,只要你的远程仓库收到一次 push 之后,Git Hook 就能帮你执行一次 bash 脚本。
下面介绍通过 Git Hook 进行简单的自动化部署,至于更复杂的,需要大家自己去研究。
在服务器初始化一个远程 Git 仓库
mkdir example.git cd example.git git -bare init #创建裸版本库
在服务器初始化一个本地 Git 仓库
cd /export mkdir example cd example git init #初始化git git remote add origin /home/git/example.git #设置远程仓库
为远程仓库设置 Hook
cd /home/git/example.git/hooks vim post-receive #!/bin/sh unset GIT_DIR NowPath=`pwd` DeployPath="/export/example" cd $DeployPath git pull origin master cd $NowPath exit 0
使用 chmod +x post-receive
改变一下权限后,服务器端的配置就基本完成了。
为本地仓库添加 remote 源
这次的本地仓库就真的是你开发机上面的本地了。在你原有 Git 项目里面添加一条新的 remote 源,以后往这个 remote 源里面 push 代码就会自动触发上面那 bash 脚本了。
总结
- 需要自动pull的目录下一定要给git账号的执行权限
参考
使用 Git Hook 实现网站的自动部署
用 Git Hooks 进行自动部署
原文地址:http://wangtianbao.org/50.html
来源:https://www.cnblogs.com/wtb123456/p/5218556.html