博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
玩转git之webhook应用初探
阅读量:6158 次
发布时间:2019-06-21

本文共 1042 字,大约阅读时间需要 3 分钟。

hot3.png

在百度搜索了一下 git webhook 这个关键字,没有看到有相关的详细的应用教程。

所以决定把 自己这段时间以来的摸索 写成文字 分享给大家 。

最近碰到这样的一个需求,就是 本地提交代码 到 git仓库以后 需要 网站 远程自动同步代码 。

git 的 webhook  正好能 满足 这个需求。

 

具体步骤:

服务器端:

1. 服务器端 生成 apache 的 deploy key

sudo -u apache ssh-keygen -t rsa -C “jianl@example.com”

2.给apache 操作目录的权限

第一种方法 直接给 目录 777 权限 简单粗暴

第二种方法 建立用户组  把 ftp用户 和 apache 添加到该组别里面 , 给予该组权限

groupadd gitwritersadduser [yourusername] gitwriters
adduser apache gitwriters
 
chgrp -R gitwriters /path/to/your/repo
chmod -R g+rw /path/to/your/repo
 3.在需要自动同步的仓库打开hook

cd /项目/.git/cp hooks/post-receive.sample hooks/post-receivevim hooks/post-receive#加入下面代码GIT_WORK_TREE=/home/www git checkout -f
 4.加入接收 webhook的 脚本,  在项目 创建 update.php

$www_folder = "/2T/ftp/utools/uilib" ;//git仓库地址$git_repo = "git@git.dev/.......abc.git" ;//执行指令 echo shell_exec(" cd $www_folder && git pull $git_repo 2>&1 ");
gitlab 端的设置:

找到项目的设置 ,deploy key项   添加  直接 apache用户 生成的 ssh key webhook 项 添加 网站地址/update.php (正常能够访问的链接)  , 勾选  Push events保存

完全以上配置 。服务器端自动同步代码的功能就能够实现了。

转载于:https://my.oschina.net/BearCatYN/blog/364819

你可能感兴趣的文章
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>
使用FMDB最新v2.3版本教程
查看>>
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
淘宝的几个架构图
查看>>
linux后台运行程序
查看>>
Python异步IO --- 轻松管理10k+并发连接
查看>>
Oracle中drop user和drop user cascade的区别
查看>>
登记申请汇总
查看>>
Android Jni调用浅述
查看>>
CodeCombat森林关卡Python代码
查看>>
(二)Spring Boot 起步入门(翻译自Spring Boot官方教程文档)1.5.9.RELEASE
查看>>
Shell基础之-正则表达式
查看>>
JavaScript异步之Generator、async、await
查看>>
讲讲吸顶效果与react-sticky
查看>>
c++面向对象的一些问题1 0
查看>>