`
dcj3sjt126com
  • 浏览: 1876934 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

玩转git之webhook应用初探

阅读更多

转自: http://ued.ctrip.com/blog/?p=3646?tn=gongxinjun.com

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

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

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

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

 

git

具体步骤:

服务器端:

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

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

2.给apache 操作目录的权限

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

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

groupadd gitwriters
adduser [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-receive
vim 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
保存 

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

分享到:
评论

相关推荐

    《玩转Git三剑客》.zip

    《玩转Git三剑客》是一本专注于Git版本控制系统的学习资料,它可能包含了关于Git的深入理解和实践操作的全面教程。Git是目前最流行的分布式版本控制系统,被广泛应用于软件开发和协作环境中,对于强化学习这样的技术...

    玩转Git,三本pdf书籍,学完拿下git!

    玩转Git,三本pdf书籍,学完拿下git!玩转Git,三本pdf书籍,学完拿下git!玩转Git,三本pdf书籍,学完拿下git!玩转Git,三本pdf书籍,学完拿下git!玩转Git,三本pdf书籍,学完拿下git!玩转Git,三本pdf书籍,学...

    git webhook接收分发工具

    Git Webhook接收分发工具是一种基于Golang编写的程序,其主要功能是监听Git仓库的Webhook事件,当接收到推送通知时,该工具会自动拉取最新的代码更新,并将这些更新分发到用户指定的目录。这个工具对于团队协作和...

    基于Python的简易Git Webhook CLI自动化任务绑定设计源码

    该项目是一款基于Python的简易Git Webhook CLI工具,用于自动化任务绑定。源代码包含20个文件,涵盖8个Python脚本、4个JSON配置文件、2个Markdown文档、1个代码风格检查文件、1个Git忽略文件、1个YAML配置文件、1个...

    git-webhook:git webhook通过Javascript

    git-webhook github / gitlab的nodejs webhook,自动触发服务器上的脚本运行 用法 # default use github api node hook.js # use gitlab api node hook-gitlab.js 配置webhook配置webhook 在Github / Gitlab ...

    git-webhook:webhook用的

    这个“git-webhook”项目似乎是一个基于 Go 语言实现的 webhook 服务,用于处理与 Git 相关的事件。Go 语言,又名 Golang,是 Google 推出的一种静态类型的、编译型的、并发型且具有垃圾回收功能的编程语言,特别...

    玩转Git版本 学会版本管理大师

    某~客时~ 玩转git 学会玩转git版本管理工具

    git-webhook-proxy:监听webhooks,在本地镜像对应的git仓库,然后将hook转发到另一台服务器

    git-webhook-代理 充当 Git 托管提供商和持续集成服务器之间传入 webhook 的代理。 当收到 Git 提交 webhook 时,有问题的存储库将在本地镜像(或更新,如果它已经存在),然后 webhook 将传递到您的 CI 服务器,在...

    Gitlab利用Webhook实现Push代码后的jenkins自动构建部署记录(个人珍藏版)

    本篇文章记录了Gitlab利用Webhook实现Push代码后的jenkins自动构建部署过程,本人线上实操手册。有需要的朋友,可以拿走。

    git-webhook-to-eventbridge:lambda发送webhook事件

    Git Webhook to EventBridge 是一个基于Go语言编写的程序,其主要目的是将Git仓库的Webhook事件转换并发送到Amazon EventBridge(之前称为CloudWatch Events)。这个解决方案旨在帮助用户实现自动化工作流,当Git...

    webhook:git webhook,接受push回调,触发shell脚本

    git webhook支持gitee和github使用方法需要提前安装node npmgit clone https://github.com/gogogoghost/webhookcd webhooknpm i打开config.json,默认配置如下key 后台设置的密码branch 需要监控的分支script ...

    勇哥带你玩转git基本操作

    git是当下最受欢迎的版本控制器没有之一,不管是gitHub还是码云还是CSDN的code,都为广大开发者带来了极大的便利,下面就让老司机带你玩转git基本操作

    GIt入门与应用

    GIt入门与应用

    git、gitlab、github详细视频教学

    git三剑客详细教学视频,基础+进阶+实践/可以轻松应对使用中的各种情况 百度网盘链接:https://pan.baidu.com/s/1VlgY6jyi-nBCxgV3xYtDjQ

    Python-GitWebHook用于迅速搭建并使用WebHook进行自动化部署和运维系统

    在Python-GitWebHook中,Flask用于接收和解析来自Git平台的WebHook请求,并根据请求内容执行相应的回调函数。 在Python-GitWebHook项目中,`git-webhook-master`很可能是项目源代码的根目录。这个目录可能包含以下...

    webhook-receiver:https:dns-api.com使用的特定于git的webhook接收器

    Webhook接收器是一种技术,它允许应用程序通过HTTP POST请求接收实时事件通知。在这个特定的案例中,"webhook-receiver"是一个专为https://dns-api.com设计的Git webhook接收器。Git webhook是一种机制,当仓库发生...

    【Souvenir】Python 使用 Tornado 框架实现 WebHook 自动部署 Git-gohook.zip

    【标题】中的“Python 使用 Tornado 框架实现 WebHook 自动部署 Git-gohook”揭示了这个项目的核心内容,即使用 Python 编程语言,结合 Tornado Web 框架来创建一个 WebHook 服务,该服务能够自动响应 Git 仓库的...

    两小时学会Git玩转Github

    传智播客 两小时学会Git玩转Github视频配套文档

    git应用开发详解

    在本文中,我们将详细解析Git的重要概念、常用命令、以及与之相关的开发工具和平台。 首先,Git的核心概念包括仓库(Repository)、分支(Branch)、提交(Commit)、合并(Merge)等。仓库是存储项目历史版本的...

    git-webhook-wework-robot:企业微信githubgitlab机器人

    Changelog2020-10支持了 gitlab 的 review/wiki 事件2020-9支持了 gitlab 的腾讯云函数 git 机器人API网关地址: 自建云函数、设置 webhook 请参考下面 github 的介绍,是一样。2020-1支持了腾讯云云函数的创建使用...

Global site tag (gtag.js) - Google Analytics