当前位置: 首页 > 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 测试链接
    在这里插入图片描述
    将地址换码云项目地址即可

相关文章:

宝塔面板webhook 使用教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 背景1、介绍一下Webhook2、使用步骤1.安装git2.安装WebHook3.添加WebHook4.配置git 钩子 (码云示例)5.私有项目还需要做以下操作 背景 最近…...

大模型时代入场级技能:提示词工程!中文教程来啦

写出优质的提示词,让 AI 生成惊艳的图文作品。——这就是如今年薪百万仍一人难求的提示词工程师们在解决的问题。大语言模型时代下,不断涌现出众多让人瞳孔地震的绘画、拍案叫绝的文案,它们的创作者并非传统定义的画家、作家,而是…...

template和component自定义组件之间的区别

在小程序中自定义组件 component 方式和组件模板 template 2种方式实现页面组件化。 一、component自定义组件 1.概念 自定义组件是指可以被多个页面使用的组件,可以在小程序中多次复用。在开发中可以将一个页面中的代码和样式抽象出来,然后创建一个自定…...

如何提高读取Excel的效率,NPOI多线程读取详解

如何提高读取Excel的效率 当Excel中的数据量大,达到几十万条,使用Excel文件可能会变得很慢. 以下是一些建议来提高读取Excel的效率: 1. 选择合适的Excel库 在读取Excel文件时, 选择合适的Excel库可以显著提高效率. 一些常用的Excel库包括: EPPlus: 用于读写Excel文件的开源…...

【算法】【算法杂谈】从1到n的自然数组中,1出现的次数如何计算?

目录 前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本 思考感悟写在最后 前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识! 问题介…...

日常笔记-Flutter build命令参数

Flutter build命令参数 Flutter build命令参数 Flutter build命令参数 flutter build apk 命令支持以下参数&#xff1a; --debug&#xff1a;构建一个调试版本的 APK。--release&#xff1a;构建一个发布版本的 APK。--target-platform<value>&#xff1a;指定目标平台…...

【利用AI让知识体系化】入门Koa框架

思维导图 文章目录 思维导图一、介绍Koa什么是KoaKoa的历史Koa的特点 二、基本使用安装KoaHello World中间件路由错误处理 三、进阶使用静态资源管理Session管理文件上传表单处理HTTPS支持 四、Koa中间件中间件的概念Koa的洋葱模型常用中间件的介绍自定义中间件的编写 五、异步…...

边缘计算:数据采集、清洗与处理的新时代

近日&#xff0c;又一家边缘计算企业成功获得了融资。这家公司名为DeepWalk&#xff0c;致力于提供边缘计算技术&#xff0c;为企业提供安全、快速的数据采集、清洗和处理解决方案。其融资将用于产品研发和市场推广。 DeepWalk成立于2018年&#xff0c;总部位于美国硅谷&#x…...

分区计量管理项目应用

为充分发挥分区计量管理项目在漏损控制的效用&#xff0c;应构建科学完备的应用体系&#xff0c;如下图 分区计量应用体系 1. 基于水量平衡分析的漏损现状评估方法 分区计量管理项目通过监控分析DMA 分区内流量、压力、水质、大用户用水等情况&#xff0c;结合营业抄收系统的营…...

LayoutInflater中inflate()参数解析

1、关于LayoutInflater&#xff0c;它是如何通过 inflate 方法获取到具体View的&#xff1f; 获得LayoutInflater实例的方式有以下三种&#xff1a; LayoutInflater inflater getLayoutInflater();LayoutInflater inflater LayoutInflater.from(this);LayoutInflater infla…...

星河案例ㅣ中国电信 X 冲量在线:基于智算中心的隐私计算应用实践

▏摘要 中国电信是中国三大运营商之一&#xff0c;为响应国家“东数西算”工程的全新数据中心形态&#xff0c;中国电信引入隐私计算平台&#xff0c;对内实现数据确权跟踪、对外实现数据共享交易&#xff0c;盘活中国电信分布在全国不同区域的数据资源和算力资源&#xff0c;…...

开发笔记之:JAVA读取QT QDataStream输出

1.背景 之前的标题是【JAVA反序列化QT序列化内容】&#xff0c;觉得太大太绕&#xff0c;最后改为现在的标题。  本篇内容是对用JAVA解析QT&#xff08;用的是QDataSteam&#xff09;所输出&#xff08;序列化&#xff09;的内容的小结。 本文涉及类型包括&#xff1a;QString…...

Docker入门实战---修改Docker镜像源

前言 现在大部分互联网公司在实施项目时几乎都会以微服务架构进行落地&#xff0c;那么微服务一旦多了之后就会面临一个如何友好的治理的问题&#xff0c;本人不会重点介绍治理的问题&#xff0c;而是会简单就治理的其中一个环节服务部署运维的问题进行介绍&#xff0c;服务部…...

Java构建高并发高可用的电商平台(静态架构蓝图之剖析架构)

静态架构蓝图 整个架构是分层的分布式的架构&#xff0c;纵向包括CDN&#xff0c;负载均衡/反向代理&#xff0c;web应用&#xff0c;业务层&#xff0c;基础服务层&#xff0c;数据存储层。水平方向包括对整个平台的配置管理部署和监控。 剖析架构 1. CDN CDN系统能够实时…...

SpringBoot核心运行原理解析之------@Conditional条件注解

在SpringBoot核心运行原理解析之------@EnableAutoConfiguration文档中我们完成了自动配置类的读取和筛选,在这个过程中已经涉及了像@ConditionalOnClass这样的条件注解。打开每个自动配置类,都会看到@Conditional或其衍生的条件注解,本节我们来认识下@Conditional注解。 认…...

systemverilog 001 内建数据类型logic

Verilog 有两种基本数据类型,reg 和wire ,都是4值逻辑 0 1 x z,默认值是x。 reg[7:0] m 为无符号 Integer 为有符号32位 time为64位无符号 real为浮点数 systemverilog新引进了logic,logic既可以作为变量(reg功能),也可以作为线网功能(…...

Flink Kafka-Source

文章目录 Kafka Source1. 使用方法2. Topic / Partition 订阅3. 消息解析4. 起始消费位点5. 有界 / 无界模式6. 其他属性7. 动态分区检查8. 事件时间和水印9. 空闲10. 消费位点提交11. 监控12. 安全 Apache Kafka 连接器 Flink 提供了 Apache Kafka 连接器使用精确一次&#xf…...

VoxelNeXt:用于3D检测和跟踪的纯稀疏体素网络

VoxelNeXt:Fully Sparse VoxelNet for 3D Object Detection and Tracking 目前自动驾驶场景的3D检测框架大多依赖于dense head&#xff0c;而3D点云数据本身是稀疏的&#xff0c;这无疑是一种低效和浪费计算量的做法。我们提出了一种纯稀疏的3D 检测框架 VoxelNeXt。该方法可以…...

必须了解的内存屏障

目录 一&#xff0c;内存屏障1&#xff0c;概念2&#xff0c;内存屏障的效果3&#xff0c;cpu中的内存屏障 二&#xff0c;JVM中提供的四类内存屏障指令三&#xff0c;volatile 特性1&#xff0c;保证内存可见性定义2&#xff0c;禁止指令重排序3&#xff0c;不保证原子性 一&a…...

【设计模式】状态模式

文章目录 前言状态模式1、状态模式介绍1.1 存在问题1.2 解决问题1.3 状态模式结构图 2、具体案例说明状态模式2.1 不使用状态模式2.2 使用状态模式 3、状态模式总结 前言 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示…...

HarmonyOS Next 弹窗系列教程(4)

HarmonyOS Next 弹窗系列教程&#xff08;4&#xff09; 介绍 本章主要介绍和用户点击关联更加密切的菜单控制&#xff08;Menu&#xff09; 和 气泡提示&#xff08;Popup&#xff09; 它们出现显示弹窗出现的位置都是在用户点击屏幕的位置相关 菜单控制&#xff08;Menu&…...

从零到一:Maven 快速入门教程

目录 Maven 简介Maven 是什么为什么使用 Maven&#xff1f; 安装 Maven下载 Maven 配置 Maven解压文件配置本地仓库保存路径配置国内仓库地址 Maven 的核心概念了解 pom.xml 文件坐标依赖范围生命周期compileprovidedruntimetestsystemimport 依赖传递依赖排除依赖循环 继承1. …...

Unreal从入门到精通之 UE4 vs UE5 VR性能优化实战

文章目录 前言:准备工作UE4 vs UE5 性能对比引擎核心技术方案对比UE5 优化总结项目设置可伸缩性组设置VolumetricCloud最后前言: 最近在使用UE5制作VR项目 制作完后发现,我们的场景一直很卡顿,场景优化也做到了极致,但是帧率最高也才30+ 但是我们看到一个竞品,他的帧率竟…...

C/C++ 面试复习笔记(2)

C语言如何实现快速排序算法&#xff1f; 答案&#xff1a;快排是一种分治算法&#xff0c;选择一个基准元素&#xff0c;将数据划分成两部分&#xff0c;然后递归排序 补充&#xff1a; void quick_sort(int arr[], int start, int end) {//判断是否需要排序if (start > …...

java-springboot文件上传校验之只允许上传excel文件,且检查不能是脚本或者有害文件或可行性文件

四重验证机制&#xff1a; 文件扩展名检查&#xff08;.xlsx/.xls&#xff09;MIME类型检查文件魔数验证&#xff08;真实文件类型&#xff09;可执行文件特征检测 防御措施&#xff1a; 使用try-with-resources确保流关闭限制文件大小防止DoS攻击使用Apache POI的FileMagic进…...

8天Python从入门到精通【itheima】-71~72(数据容器“序列”+案例练习)

目录 71节-数据容器“序列”的切片 1.学习目标 2.什么是序列 3.序列的常用操作——切片 4.小节总结 72节——案例练习&#xff1a;序列的切片实践 1.案例需求 2.代码实战 好了&#xff0c;又一篇博客和代码写完了&#xff0c;励志一下吧&#xff0c;下一小节等等继续&a…...

@Builder的用法

Builder 是 Lombok 提供的一个注解&#xff0c;用于简化 Java 中构建对象的方式&#xff08;Builder 模式&#xff09;。它可以让你以更加简洁、链式的方式来创建对象&#xff0c;尤其适用于构造参数较多或部分可选的类。...

MacOS解决局域网“没有到达主机的路由 no route to host“

可能原因&#xff1a;MacOS 15新增了"本地网络"访问权限&#xff0c;在 APP 第一次尝试访问本地网络的时候会请求权限&#xff0c;可能顺手选择了关闭。 解决办法&#xff1a;给想要访问本地网络的 APP &#xff08;例如 terminal、Navicat、Ftp&#xff09;添加访问…...

RPM 数据库修复

RPM 数据库修复 1、备份当前数据库&#xff08;重要&#xff01;&#xff09; sudo cp -a /var/lib/rpm /var/lib/rpm.backup此操作保护原始数据&#xff0c;防止修复失败导致数据丢失 2、清除损坏的锁文件 sudo rm -f /var/lib/rpm/__db.*这些锁文件&#xff08;如 __db.00…...

web3-去中心化金融深度剖析:DEX、AMM及兑换交易传播如何改变世界

web3-去中心化金融深度剖析&#xff1a;DEX、AMM及兑换交易传播如何改变世界 金融问题 1.个人投资&#xff1a;在不同的时间和可能的情况&#xff08;状态&#xff09;下积累财富 2.商业投资&#xff1a;为企业家和企业提供投资生产性活动的资源 目标&#xff1a;跨越时间和…...