Git hooks 的学习笔记

1:搭建lnmp环境

 

2:搭建git仓库服务器

 

3:编写脚本文件

   首先找到仓库hooks的目录,我的目录是 /srv/work.git/hooks,  然后新建一个文件post-receive  ,添加可执行权限。

 
vim post-receive


#!/bin/sh

unset GIT_DIR

NowPath=`pwd`
DeployPath="/home/wwwroot/work/"

cd $DeployPath
#git reset --hard
git pull
git add .
git commit -m '1'
git push test master



cd $NowPath
exit 0

chmod +x post-receive


4. 新建本地仓库关联远程仓库

 

git clone /srv/work.git
git remote add test git@远程url


5. 本机创建git的ssh

  在/home/git/.ssh/  目录下生成ssh  ,然后将公钥添加到远程主机的authorized_keys。

 这里需要注意权限的问题,要将远程主机下.ssh的权限改为700,authorized_keys的权限改成600.


6. 在远程主机上创建远程仓库和本地仓库

  将本地仓库和远程仓库关联,进入远程仓库的hook目录下编写脚本。

vim post-receive

#!/bin/sh

unset GIT_DIR

NowPath=`pwd`
DeployPath="本地仓库目录"

cd $DeployPath
#git reset --hard
git pull

cd $NowPath
exit 0

chmod +x post-receive

到此就配置好了。


整个过程中遇到的问题就出在5环节,权限问题。和范飞讨论了许久无果,猜测了很多原因,尝试了很多解决办法,最终还是请求邱正刚帮忙解决了这个问题。原因就是权限溢出,给.ssh添加了过多的权限,导致其不能正常工作,设置为700即可ssh连接,没想到linux系统下权限不够不能执行,权限多了也不能执行,还是非常严谨的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值