服务器上新建git仓库
mkdir /project.git
cd /project.git
git init –bare
克隆仓库到web发布目录
git clone /project.git /webroot
cd /webroot
git checkout master
在git远端仓库的hooks目录下新建post-receive文件 (post-update也可以),代码如下:
#!/bin/sh
DEPLOY_DIR=/webroot/
unset GIT_DIR
cd $DEPLOY_DIR
git pull origin master
保存后,赋与该文件git用户执行权限
让git用户对webroot目录有写权限
setfacl -R -m u:git:rwx /webroot
setfacl -R -m d:u:git:rwx /webroot
本地开发目录中创建git仓库
git init
git remote add origin git@域名:/project.git
以后每次执行git push origin master 时,服务器代码将自动部署到/webroot目录
————————————————-
#!/bin/sh
COMMIT=$(git log -1 –pretty=format:”%s”)
if [ “$COMMIT” == “publish” ];then
DEPLOY_DIR=/webroot/
unset GIT_DIR
cd $DEPLOY_DIR
git pull origin master
fi