在git应用的hooks目录中,创建post-receive文件,添加内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #!/bin/sh
DEPLOY_PATH=写Web站点目录
将 master 以zip格式打包到指定文件(裸仓库中执行)
echo "git账号的密码" | sudo -S git archive --format zip --output file.zip master
将打包好的剪切到web目录
echo "git账号的密码" | sudo -S mv file.zip $DEPLOY_PATH
unset GIT_DIR
cd $DEPLOY_PATH
echo "git账号的密码" | sudo -S unzip -o file.zip
echo "git账号的密码" | sudo -S rm -rf file.zip
echo "git账号的密码" | sudo -S chown www:www -R $DEPLOY_PATH
|
保存后赋予可执行权限:
1 2
| sudo chmod +x /path/to/test.git/hooks/post-receive sudo chown -R git:git /path/to/test.git
|
这里使用echo “git账号的密码” | sudo -S Command 是为了解决出现remote…Operation Not Permitted问题。
然后通过Git Bash在本地对远程仓库进行增加或删除修改操作,接着执行git push相关命令之后,便可完成代码的自动部署。