当前位置: 首页 > news >正文

宝塔面板webhook 使用教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 背景
  • 1、介绍一下Webhook
  • 2、使用步骤
    • 1.安装git
    • 2.安装WebHook
    • 3.添加WebHook
    • 4.配置git 钩子 (码云示例)
    • 5.私有项目还需要做以下操作


背景

最近想自己写一个博客站,分享一下如何使用 webhook自动拉取码云代码。

1、介绍一下Webhook

Webhook是一个API概念,并且变得越来越流行。我们能用事件描述的事物越多,webhook的作用范围也就越大。Webhook作为一个轻量的事件处理应用,正变得越来越有用。

准确的说webhook是一种web回调或者http的push API,是向APP或者其他应用提供实时信息的一种方式。Webhook在数据产生时立即发送数据,也就是你能实时收到数据。这一种不同于典型的API,需要用了实时性需要足够快的轮询。这无论是对生产还是对消费者都是高效的,唯一的缺点是初始建立困难。

Webhook有时也被称为反向API,因为他提供了API规则,你需要设计要使用的API。Webhook将向你的应用发起http请求,典型的是post请求,应用程序由请求驱动。

2、使用步骤

1.安装git

登录服务器 执行 git --version 查看是否已经安装, 如果没有执行yum install git 安装

2.安装WebHook

	进入宝塔面板,依次进入:软件管理->宝塔插件,在列表里可以看到宝塔WebHook插件,点击后面的安装

3.添加WebHook

#!/bin/bash
echo ""
# 输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
# 判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then echo "param参数错误"echo "End"exit
fi
# git项目路径
gitPath="/www/wwwroot/$1"
# git 网址
gitHttp="http://git.xxxxx.com/$1.git"echo "Web站点路径:$gitPath"# 判断项目路径是否存在
if [ -d "$gitPath" ]; thencd $gitPath# 判断是否存在git目录if [ ! -d ".git" ]; thenecho "在该目录下克隆 git"git clone $gitHttp gittempmv gittemp/.git .rm -rf gittempfi# 拉取最新的项目文件git reset --hard origin/mastergit pull# 设置目录权限chown -R www:www $gitPathecho "End"exit
elseecho "该项目路径不存在"echo "End"exit
fi

点击提交后

组成的链接是这样的: http://面板Ip加端口/hook?access_key=密钥&param=项目在/www/wwwroot/目录下的目录

4.配置git 钩子 (码云示例)

在这里插入图片描述
点击提交测试
在这里插入图片描述
返回结果是在这里插入图片描述
表示成功

5.私有项目还需要做以下操作

  1. 生成ssh公钥
    . 服务器 输入命令cd ~/.ssh && ls查看有没有SSH key ,是否存在下图两个文件
    在这里插入图片描述
    如果没有 ,用命令ssh-keygen -t rsa -C "your_email@example.com"生成
    三步回车 然后 用命令 cat id_rsa.pub查看证书内容 复制
    在这里插入图片描述
    在这里插入图片描述
    添加好公钥 使用命令 ssh -T git@gitee.com 测试链接
    在这里插入图片描述
    将地址换码云项目地址即可
http://www.lryc.cn/news/68594.html

相关文章:

  • 大模型时代入场级技能:提示词工程!中文教程来啦
  • template和component自定义组件之间的区别
  • 如何提高读取Excel的效率,NPOI多线程读取详解
  • 【算法】【算法杂谈】从1到n的自然数组中,1出现的次数如何计算?
  • 日常笔记-Flutter build命令参数
  • 【利用AI让知识体系化】入门Koa框架
  • 边缘计算:数据采集、清洗与处理的新时代
  • 分区计量管理项目应用
  • LayoutInflater中inflate()参数解析
  • 星河案例ㅣ中国电信 X 冲量在线:基于智算中心的隐私计算应用实践
  • 开发笔记之:JAVA读取QT QDataStream输出
  • Docker入门实战---修改Docker镜像源
  • Java构建高并发高可用的电商平台(静态架构蓝图之剖析架构)
  • SpringBoot核心运行原理解析之------@Conditional条件注解
  • systemverilog 001 内建数据类型logic
  • Flink Kafka-Source
  • VoxelNeXt:用于3D检测和跟踪的纯稀疏体素网络
  • 必须了解的内存屏障
  • 【设计模式】状态模式
  • 内核驱动支持浮点数运算
  • Flink学习(一)
  • linux 常用命令awk
  • MySQL学习---15、流程控制、游标
  • 信息调查的观念
  • leetcode 337. 打家劫舍 III
  • 基于Docker的深度学习环境NVIDIA和CUDA部署以及WSL和linux镜像问题
  • c#中slice,substr,substring区别
  • java语言里redis在项目中使用场景,每个场景的样例代码
  • Mongo集合操作
  • ConvTranspose2d 的简单例子理解