git hook自动化部署
Posted dtc233
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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权限好一点
以上是关于git hook自动化部署的主要内容,如果未能解决你的问题,请参考以下文章