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自动化部署的主要内容,如果未能解决你的问题,请参考以下文章

使用Git Hooks实现开发部署任务自动化

使用 Git Hook 实现网站的自动部署

git hook自动化部署

git hook 自动部署

git hook裸仓库自动部署

git hooks自动部署