首页 > 未分类 > linux下git提交自动同步生产环境下

linux下git提交自动同步生产环境下

之前项目都是svn,现在团队都熟悉git,所以打算把svn那一套提交就同步到生产环境下的机制搬过来

流程

1.在服务端新建一个基本仓库

2.添加一个git用户  并设置密码和权限

3.到生产目录下git init,并设置git源为刚才 建立的仓库

4.然后配置权限和目录,切记 网站缓冲目录需要分配给权限到www用户,剩下的权限分配给git用户 (老司机常在这里翻车)

5.添加git钩子

1.新建基本仓库

cd 到代码仓库目录

git init –bare erpv2.git

2.添加git 用户设置密码权限

adduser git

passwd git  //输入两次密码

chown -R git:git /www/gitdata/erpv2.git/  //设置仓库权限

3.到生成目录下初始化一下

cd到生产目录下/网站根目录下

git init

git remote add origin /www/gitdata/erpv2.git/           //设置仓库地址

git branch –set-upstream-to=origin/master master  //设置默认推拉分支

git pull  //拉取一遍

4.配置权限

cd /www/gitdata/erpv2.git/hooks/        //切换到git仓库hooks目录下

vim post-receive                                     //新建钩子文件

文件内容

chmod 777 post-receive                             //设置钩子权限 777

cd /www/wwwroot/xxxxx       //回到生产目录 或直接修改权限,但是要加目录地址

chown -R git:git  /xxxxx        //把生产目录权限设置给git

chowm -R www:www runtime/   //项目缓存目录给www,该目录和自身项目有关

5题外:git免登陆

cd /home/git/ 下新建  .ssh目录,并进入目录

然后新建秘钥文件  vim authorized_keys

把key放进去 就可以了,以后 push 和pull都无需密码了

忘了:.ssh和authorized_keys 权限 别忘修改!!!