git自动部署到服务器
1、现在服务器配置空仓库
mkdir -p test/project.git chmod 777 test cd test/project.git/ git init --bare . cd .. chown gituser:gituser -R project.git
2、再本地初始化仓库并且添加远程仓库
mkdir -p project cd project git init git config user.email "wzp@ git add 1.txt git commit -m "add 1.txt" git remote add test git@192.168.0.1:/home/www/project.git //添加远程仓库还没有提交过,所以要先提交一次. test为远程命名,随意
3、设置钩子
在project.git/hooks目录下有很多脚本文件的示例 查看post-receive.sample文件是否存在如果存在 cp post-receive.sample post-receive 不存在 touch post-receive sudo vi post-receive # 写入下面脚本 #!/bin/bash #指定我的代码检出目录 DIR=/home/wwwroot/sowork/test #不能包含当前的目录,要另外一个目录 git --work-tree=${DIR} clean -fd #直接强制检出 git --work-tree=${DIR} checkout --force 修改该文件所有者为git用户(上面安装git创建的用户) sudo chown git:git post-receive sudo chomd +x post-receive # 添加执行权限 然后当你push的时候就会将文件检出到你指定网站目录下 在git客户端push的话可以得到反馈,如果失败,可能是权限造成的
4、之后再本地提交之后就会自动部署到对应的网站目录