zoukankan      html  css  js  c++  java
  • CentOS7 宝塔搭配git 实时更新项目源码

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

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

    如果按照网上常见的教程, 一般都是要新建git用户和用户组, 而wdcp里站点默认的用户是www组里的www用户, 如果强制把站点用户改成git , 很多项目会无法正常运行, 所以本章就介绍如果以www这个用户作为git的默认用户, 并实现git的仓库和代码分离

    一. 需要给www用户创建用户目录

    wdcp中www用户默认的用户目录,指向的是dev/null, 我们需要修改成和自己创建的git用户生成的用户目录同级的目录 /home/www

    如果原来已经创建过用户 只需要在/home文件夹中新建 www文件夹  

    cp /home/user1 /home/www

    未创建过用户的 先创建一个属于www组的用户 然后把目录拷贝下就行了

    adduser -g www aaa

    cp /home/aaa /home/www

    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
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 454 四数相加 II
    Java实现 LeetCode 454 四数相加 II
    Java实现 LeetCode 454 四数相加 II
    FFmpeg解码H264及swscale缩放详解
    linux中cat more less head tail 命令区别
    C语言字符串操作总结大全(超详细)
    如何使用eclipse进行嵌入式Linux的开发
  • 原文地址:https://www.cnblogs.com/mverting/p/10206674.html
Copyright © 2011-2022 走看看