CentOS7 宝塔搭配git 实时更新项目源码

上一篇文章 介绍了如何在CentOS7上 搭建GIT环境 详见连接:https://www.cnblogs.com/mverting/p/10206532.htmlhtml

本章主要介绍git如何和wdcp搭配 , 作到实时提交修改git

若是按照网上常见的教程, 通常都是要新建git用户和用户组, 而wdcp里站点默认的用户是www组里的www用户, 若是强制把站点用户改为git , 不少项目会没法正常运行, 因此本章就介绍若是以www这个用户做为git的默认用户, 并实现git的仓库和代码分离web

一. 须要给www用户建立用户目录shell

wdcp中www用户默认的用户目录,指向的是dev/null, 咱们须要修改为和本身建立的git用户生成的用户目录同级的目录 /home/www缓存

若是原来已经建立过用户 只须要在/home文件夹中新建 www文件夹  服务器

cp /home/user1 /home/wwwssh

未建立过用户的 先建立一个属于www组的用户 而后把目录拷贝下就好了post

adduser -g www aaahtm

cp /home/aaa /home/wwwblog

userdel git

二.  修改用户设置  设置www的用户目录

vi /etc/passwd

找到www用户  修改为以下 

www:x:xxx:xxx::/home/www:/usr/local/git/bin/git-shell

/home/www这是是用户目录,/usr/local/git/bin/git-shell 这个要设置成本身的git安装的地址, 表示不容许www用户使用ssh登陆,只能使用git的相关命令

三.  建立.ssh 目录, 

www用户是wdcp安装时候就生成的, 咱们并不清楚是否有密码, 也不能肯定是否能设置密码, 因此这里不用密码登陆, 使用RSA验证

cd /home/www/

mkdir .ssh #新建文件夹

chmod 700 .ssh

touch .ssh/authorized_keys #新建文件

chmod 600 .ssh/authorized_keys

后续用户只须要向authorized_keys中添加本身的公钥

四  建立git仓库并添加git的钩子文件

cd /home/www

git init --bare test.git #建立一个空仓库 仓库名字叫 test

cd test.git/hooks

vi post-receive  #git接收到用户提交的提交更新后 会执行此文件中的内容

写入下面内容  --work-tree 表明代码文件夹 --git-dir  表明仓库目录

#!/bin/sh

git --work-tree=/www/web/test/public_html/addons/aaa --git-dir=/home/www/test.git checkout -f

保存后 记得要改权限 须要有可执行权限

chmod  777 /home/www/test.git/hooks/post-receive

这样就把仓库和实际代码区域分开了  每当有改动提交到仓库, 就会自动检出到实际代码文件夹

五  修改仓库文件夹全部者为www

chown www:www -R /home/www/test.git

就是说要保证--work-tree 代码文件夹和--git-dir  仓库文件夹的全部者一致  wdcp站点的默认全部者是www 因此这里把仓库文件夹的全部者也修改为www

六  本地使用

git clone www@your-ip:test.git

这里就是要用www用户了

剩下的就是正常的git使用了  

此教程的要点 实际只有一个 就是要保证git仓库的全部者 和 实际代码文件夹的全部者一致 这样才能作到实时的更新项目源码 

清空git缓存

git rm -r --cached .

git add .

git commit -m 'update .gitignore'

服务器上执行 能够直接把项目文件添加到仓库 

做者:很是帅气的昵称吧 连接:https://www.jianshu.com/p/30f11666a72d 來源:简书 简书著做权归做者全部,任何形式的转载都请联系做者得到受权并注明出处。
相关文章
相关标签/搜索