Blogger Information
Blog 143
fans 1
comment 0
visits 440333
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Linux下Gogs配置Git钩子 服务端部署钩子 hooks
弘德誉曦的博客
Original
1918 people have browsed it

在Git版本控制中,本地push代码至git服务端后,线上web站点自动的pull拉取代码,实现代码同步。于是git的hooks钩子就是实现自动化更新的核心技术。

 

准备工作:(Gogs 和 Web服务都安装好)

1、  保证Gogs和web站点在同一台服务上。(如果不在同一服务器,只能考虑用web钩子了)

2、  Gogs创建远程仓库

3、 Web站点根目录,克隆一个仓库。(git克隆命令行你懂的)

 

Hooks配置

第一步:添加sh脚本

  1. #!/bin/sh
  2. export GIT_WORK_TREE=/www/wwwroot/patent.yunyii.cn
  3. export GIT_DIR=${GIT_WORK_TREE}/.git
  4. cd ${GIT_WORK_TREE}
  5. git pull

 

第二步:设置web站点文件的权限

chown –R git:git /www/wwwroot/patent.yunyii.cn

因为git钩子是用的git用户权限,还有种可以全部给777 权限,推荐

 

第三步:设置用户名和密码

给web站点下的.git配置文件,修改带用户名密码的仓库地址。 

vi /www/wwwroot/patent.yunyii.cn/.git/config
  1. // 修改前
  2. url = http://git.yunyii.cn/patent-sell.git 
  3. // 修改后
  4. url = http://{登录用户名}:{登录密码}@git.yunyii.cn/patent-sell.git // 只修改这个地方就好
  1. [core]
  2. repositoryformatversion = 0
  3. filemode = true
  4. bare = false
  5. logallrefupdates = true
  6. [remote "origin"]
  7. url = http://root:123456@git.yunyii.cn/patent-sell.git
  8. fetch = +refs/heads/*:refs/remotes/origin/*
  9. [branch "master"]
  10. remote = origin
  11. 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!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post