git linux 部署网站,centos 搭建git自动部署web应用

由于经常要搭建一些web服务器应用,而且我用的最熟的就是centos 7 了,但工作又是做开发,所以记录一下操作方法以便后期查阅(不适合linux小白)。

一、安装最新版本的git

官方地址:https://mirrors.edge.kernel.org/pub/software/scm/git/

编译安装:wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.16.2.tar.gz

tar -zxvf git-2.16.2.tar.gz

cd git-2.16.2

./configure

make & make install

有安装错误具体解决,安装完成后,添加git命令:

建立软连接:ln -s /usr/local/bin/git /etc/bin/git

检查是否正常安装: git --version

二、添加git用户组及用户

用户组 : groupadd git

用户: useradd git -g git

设置用户密码: passwd git

禁止git用户ssh登录(这一步骤可以等后面配置完成后再操作),参考http://blog.csdn.net/lgyaxx/article/details/72954121

查看git-shell所在目录:which git-shell    #一般会是/usr/local/git-shell。

添加git-shell为git用户登录的运行脚本:

①vim /etc/shells ,在文件最后添加上 /usr/local/git-shell

②usermod -s /usr/local/git-shell

三、初始化仓库

cd /home/git

mkdir repos

mkdir repos/test

cd /repos/test

git --bare init修改目录所有者为git

cd /home/git

chown -R git:git  repos

四、自动部署设置

定位到仓库目录下面的hooks目录:/home/git/test/git/hooks

修改编辑(post-receive文件最好不要在window创建):vim post-receive

填入以下内容#!/bin/sh

DEPLOY_PATH=/home/www/xxx/ #网站应用的部署目录,应该先在该目录下面克隆一下仓库,以便能够执行下面的仓库更新

unset  GIT_DIR

cd $DEPLOY_PATH

git reset --hard

git pull

chown xxx:xxxx -R $DEPLOY_PATH    #重新修改网站目录的有属用户(切换登录用户为git( su git),生成对应的密钥)

定位到/home/git/.ssh

生成登录密钥:ssh-keygen -t rsa -C "xxxx@xxx.com"

生成文件位置选择在当前位置 /home/git/.ssh

新建文件authorized_keys并写入公钥:cat /home/git/.ssh/id_rsa.pub > authorized_keys

使用git账号登录服务器,在/home/www/xxx/目录下面进行代码的初始化:

git clone git@xxx.xxx.xx.x:/home/git/repos/test

注意:  /home/git/.ssh目录的权限必须是700, /home/git/.ssh/authorized_keys权限是644

四、远程克隆提交

git clone git@xxx.xxx.xx.x:/home/git/repos/test

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值