git hook 自动部署 linux git本地服务器搭建 git root 目录 git 仓库 git root/ .git

本文详细介绍了如何在Linux服务器上搭建Git服务,包括创建git用户、设置密码、创建Git仓库、配置RSA认证,以及利用Git Hooks实现代码push后自动部署到web服务器。在遇到权限和路径问题时,提供了相应的解决方法,确保了Git服务的正常运行和自动化部署流程的顺畅。
摘要由CSDN通过智能技术生成

服务器自动部署项目之GitHooks神器 - CSDN博客

--

每次都是将本地将代码push到远程仓库,然后再ssh到服务器上git pull,甚是麻烦。在项目开发中使用git的时候,push之后,编译系统会有自动部署等功能。下面是配置方法

==

首先要明确现在代码的分布情况,

1,开发者电脑上的本地仓库,

2,git服务器上的远端仓库,

3,web服务器上的另一个本地仓库,(我们浏览器访问的就是这里的代码

其实自动部署就是要当从开发者本地仓库提交代码到远端仓库的时候,自动把代码部署到web服务器的本地仓库,实现开发者本地仓库和web服务器的本地仓库的同步。(即通过GitHook中的post-receive脚本文件)

==

(git服务器上的远端仓库)  新建一个目录如 /root/hyf/ws/ ,在该目录下创建了 空的仓库 如  /root/hyf/ws/testhyf.git/


mkdir ws

cd ws

git init --bare testhyf.git

--

(web服务器上)一个目录   /root/hyf/workspace,克隆刚才创建的仓库


mkdir workspace

cd workspace/

git clone /root/hyf/ws/testhyf.git

--

配置Git Hook

进入到/root/hyf/ws/testhyf.git/hooks文件夹,使用vi post-receive创建一个脚本,当你在本地仓库执行git push后就会触发post-receive。 

部署路径为:/root/hyf/workspace/testhyf

post-receive的内容如下:   


#!/bin/sh


#判断是不是远端仓库

IS_BARE=$(git rev-parse --is-bare-repository)
if [ -z "$IS_BARE" ]; then
echo >&2 "fatal: post-receive: IS_NOT_BARE"
exit 1
fi

unset GIT_DIR
DeployPath="/root/hyf/workspace/testhyf"

echo "==============================================="
cd $DeployPath
echo "deploying the test web"

#git stash

#git pull origin master

git fetch --all
git reset --hard origin/master

gitbook build
sleep 15

time=`date`
echo "web server pull at webserver at time: $time."
echo "================================================"

保存后赋予可执行权限:

chmod +x post-recevie


chmod +x /root/hyf/workspace/testhyf/hooks/post-receive

这样在开发者提交代码的时候,就会自动部署。

--

==

那么如何测试验证我们的刚才是否实现了推送之后就自动部署呢?

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yue31313

感谢打赏,继续分享,给您帮忙。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值