利用Git Hook 实现代码自动部署

只愿长相守 提交于 2020-04-07 13:17:17

    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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!