美文网首页
CentOS7 WDCP搭配git 实时更新项目源码

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

作者: 非常帅气的昵称吧 | 来源:发表于2018-08-08 19:31 被阅读0次

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

本章主要介绍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'

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

相关文章

  • CentOS7 WDCP搭配git 实时更新项目源码

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

  • Centos7 多种方法 安装git

    源码安装 安装对应的依赖 下载源码编译安装 确保系统git 已经被卸载 rpm 安装(基于CentOS7)

  • Kaldi(一)安装编译

    我使用的centos7安装的。需要克隆下来kaldi源码,编译安装 从github克隆下来源码:git clone...

  • spring boot apollo 热加载 重启

    背景:在apollo更新配置属性时,后台应用实时热加载生效,不用手动重启项目,项目应用自动重启项目实时更新; 一、...

  • GIT 客户端最新版安装

    centos7环境 系统默认安装为1.8版本,源码安装2.9 创建git用户和组 Git SSH 密钥认证 可以做...

  • fastlane

    1、安装 fastlane的git地址文档aciton源码 2、初始化项目 3、例子 当我们的私有库需要更新的时候...

  • 接口发布

    # 部署流程简化 ### 一 在节点机器上安装git > 使用的是centos7系统 首先更新git客户端的依赖 ...

  • git常用命令

    一,克隆项目到本地 git clone + 项目地址 二,更新项目 git pull 三,提交文件 git com...

  • Android进阶常用网站

    持续更新... 一. Android源码学习网站 grepcode Git repositories on an...

  • 2018-11-22 Myth分布式事务开源框架(基于消息中间件

    作者:yu199195 项目Git: myth Myth源码解析系列之(一)-项目简介 Myth源码解析系列之(二...

网友评论

      本文标题:CentOS7 WDCP搭配git 实时更新项目源码

      本文链接:https://www.haomeiwen.com/subject/kxnxbftx.html