二、Git服务器搭建post-receive Hooks钩子部署服务端代码

在网上看了很多关于git钩子,git hooks的介绍和配置,自己研究出这一个版本,需要的朋友可以看一下。

Git 钩子

Git 钩子(hooks)是在 Git 仓库中特定事件(certain points)触发后被调用的脚本。通过钩子可以自定义 Git 内部的相关(如 git push)行为,关键点(如 git push)触发自定义的行为。Git 含有两种类型的钩子:客户端的和服务器端的。客户端钩子由诸如提交和合并这样的操作所调用,而服务器端钩子作用于接收部署提交的代码。实现服务器和本地的git互通。

Git 钩子存在于每个 Git 仓库的 .git/hooks 目录中。 

Git 钩子配置:

服务器配置:

服务器创建两个仓库:

                   一个是远程仓库;

                   一个是部署仓库。

1. 远程仓库在/home下:

创建远程仓库 注意student.git名字和项目部署文件名称一样

切换到.git 初始化仓库

初始化Git裸仓库

初始化以后,出现这么多文件

 

2. 部署仓库是你的前端页面位置/usr/local/nginx/html/:(我的配置页面部署了nginx)

初始化需要项目文件夹的父目录为git仓库: git init

copy远程仓库到此 作为项目仓库 备用

copy以后 出现student文件夹 这就是存放前端文件得文件夹

更改该文件夹的权限

重要的一步:进入远程仓库hooks中:

cd /home/git/student.git/hooks 

添加脚本:

vim podt-receive

脚本内容:

#!/bin/sh

unset GIT_DIR  #很关键

NowPath=`pwd`

DeployPath="/usr/local/nginx/html/student" #存放项目的文件夹位置

cd $DeployPath

git add . -A && git stash

git pull origin master

composer install --ignore-platform-reqs

cd $NowPath

echo "同步完成"

exit 0

最后一步 更改脚本的权限:

 服务器配置完毕!

开发机配置:

安装 git 配置秘钥 在github上添加公钥 这些看GIT安装和配置

进入需要同步到服务器的文件夹,打开 git Bash Here,执行git init(如果该文件夹已经是git仓库,可以不执行,我本地已是git仓库)。

本地仓库关联服务器远程仓库:git remote add origin root@116.62.63.74:/home/git/student.git

如果出现:

此时,执行:git remote rm origin  然后再次关联服务器远程仓库

在本地仓库中 建一个txt文本 模拟数据同步

进行git操作:

此时 出现脚本内容 本地已经上传到服务器成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值