天天看点

git hooks 自动部署

创建裸库

git init --bare ***.git
           

git hooks自动部署

#进入仓库所在目录,创建文件 
vim hooks/post-receive

#编辑文件
#!/bin/bash
while read oldrev newrev refname
do
    branch=$(git rev-parse --symbolic --abbrev-ref $refname)
    if [ "master" = "$branch" ]; then
        echo 'master 主分支';
        DEPLOY_PATH=/var/www/html/master
    fi
    if [ "develop" = "$branch" ]; then
        echo 'develop 开发分支';
        DEPLOY_PATH=/var/www/html/develop
    fi
    git --work-tree=$DEPLOY_PATH checkout -f $branch
    # php 代码执行 composer install;当然其他的语言也是可以进入对应目录执行相应命令
    cd $DEPLOY_PATH && commpos install
done

设置文件权限
chmod 777 hooks/post-receive