线上服务器搭建git服务,本地代码上传实现自动同步到线上服务器指定web目录

最新公司有个项目代码需要规范化,可以查看历史记录及··可以·回滚操作,所以考虑使用在服务器上搭建git服务器,并设置钩子,当我们上传代码后自动同步到服务器代码目录下。下面为具体步骤:
1、服务器上安装git程序

yum install git

2、在服务器上创建 裸版本库

git init --bare demo.git  //参数 --bare 是代表创建裸仓库

3、本地Clone远程的代码仓库到本地

git clone git@39.99.204.74:/home/git/demo.git

本地更新代码后,推送到远端

git push origin master

4、之前步骤实现了本地推送到服务器仓库中,如何实现自动同步到服务器代码目录里面了?自动同步功能用到的是 git 的钩子功能。
服务器端,进入 对应仓库,如

cd /home/git/demo.git

创建post-receive文件

cd hooks
vi post-receive

在里面添加文件

#!/bin/bash
git --work-tree=/www/wwwroot/demoroot checkout -f

PS:
1、其中 /www/wwwroot/demoroot 为 web目录地址
2、post-receive文件需要将用户、用户组设为git,并且需要设置可执行权限。
3、/www/wwwroot/demoroot 目录需要git用户有可写权限,不然客户端会提示没有上传权限

未经允许不得转载:任鹏个人博客 » 线上服务器搭建git服务,本地代码上传实现自动同步到线上服务器指定web目录

赞 (0) 打赏

评论 0

取消
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏