git hook自动化部署

一、建立本地仓库

cd 项目路径
git init
git add .
git commit -m "日志"
二、建立服务器git用户

yum install -y git
groupadd git
useradd -g git git
#这里没有加git禁止登陆,因为nologin 总是报错
cd /home/git
git init --bare xxx.git
cd xxx.git

三、添加远程连接

git remote add origin 远程仓库地址

四、添加git登陆密钥

ssh-keygen -t rsa -P
#-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。

复制 .ssh 中的id_rsa.pub 到 远程/home/git/.ssh/authorized_keys/
#等待添加 authorized_keys 权限 以及服务器生成

五、添加钩子函数

/home/git/xxx.git/hooks/post-receive

post-receive内容:

!/bin/sh

判断是不是远端仓库

IS_BARE=$(git rev-parse --is-bare-repository)
if [ -z "$IS_BARE" ]; then
echo >&2 "fatal: post-receive: IS_NOT_BARE"
exit 1
fi

unset GIT_DIR
DeployPath="/alidata/www/jkdzz"

echo "==============================================="
cd $DeployPath
echo "deploying the test web"

六、git文件夹修改权限

chmod -R git:git /home/git/xxx.git

七、新建部署仓库

cd www
git init XXX
chown -R git:www ../XXX
git remote add origin www/XXX
八、推送一下自己的项目到远程服务器

git push origin master
九、www可能会无法创建文件,所以要设置资源区7,临时文件,777权限好一点

posted @ 2018-05-05 23:11  溺水的秋刀鱼  阅读(244)  评论(0)    收藏  举报