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、之后再本地提交之后就会自动部署到对应的网站目录

原文地址:https://www.cnblogs.com/pangxiaox/p/8519538.html