在Git版本控制中,本地push代码至git服务端后,线上web站点自动的pull拉取代码,实现代码同步。于是git的hooks钩子就是实现自动化更新的核心技术。
准备工作:(Gogs 和 Web服务都安装好)
1、 保证Gogs和web站点在同一台服务上。(如果不在同一服务器,只能考虑用web钩子了)
2、 Gogs创建远程仓库
3、 Web站点根目录,克隆一个仓库。(git克隆命令行你懂的)
Hooks配置
第一步:添加sh脚本
export GIT_WORK_TREE=/www/wwwroot/patent.yunyii.cn
export GIT_DIR=${GIT_WORK_TREE}/.git
第二步:设置web站点文件的权限
chown –R git:git /www/wwwroot/patent.yunyii.cn
因为git钩子是用的git用户权限,还有种可以全部给777 权限,推荐
第三步:设置用户名和密码
给web站点下的.git配置文件,修改带用户名密码的仓库地址。
vi /www/wwwroot/patent.yunyii.cn/.git/config
repositoryformatversion = 0
url = http://root:123456@git.yunyii.cn/patent-sell.git
fetch = +refs/heads/*:refs/remotes/origin/*
merge = refs/heads/master
综上:如果你用的是ssh秘钥来push代码,那就更好,第三步就可以省略了。
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!