Jekins+Generic Webhook Trigger插件[gogs],发布前端任务

本文主要是介绍Jekins+Generic Webhook Trigger插件[gogs],发布前端任务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Jekins+Generic Webhook Trigger插件[gogs],发布前端任务

  • 需要用到工具(点击,含安装教程)
  • 概述
  • Jekins需要用的插件;
    • 如何安装插件
    • 如何构建项目
    • 构建项目
        • Post content parameters:
        • Header parameters:
        • Request parameters:
        • Token:
        • 打印内容:
        • 如何对 Webhook 进行过滤:
    • 正片来了

需要用到工具(点击,含安装教程)

  • linux(centos7);
  • gogs
  • Jekins

概述

为什么我一个前端工程师,需要用到Jeskins,这个问题一直萦绕在我的心中,甚至是现在,我还在想这个问题要如何回答,但是没办法,公司技术能力有限,把我自己逼成了一个运维+前端,每次发布任务时,都是用最原始的git拉取,然后在linux上跑任务,很坑爹,后来改成了现在用shell脚本,到现在的是使用jekins,这是我第一次使用安装Jekins,怕自己以后忘记,So,写了这篇笔迹。

Jekins需要用的插件;

  • Generic Webhook Trigger
  • Publish Over SSH

如何安装插件

系统管理>插件管理>可选插件
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在可选插件里面搜索,需要的插件然后直接安装,完美,默默的等待它安装完成,就可以使用了。

如何构建项目

新建项目>输入任务名称+选择‘构建一个自由风格的软件项目’
在这里插入图片描述
在这里插入图片描述

构建项目

之前的预热都做好了,现在开始进入正题;
前面的选项可以不填,直接在构建触发器这里选择 Generic Webhook Trigger
首先,我先介绍下Generic Webhook Trigger的每个选项里面的意思
(抄录地址:https://www.gaoyaxuan.net/blog/462.html)

Post content parameters:

这类变量从 POST 的具体内容中获取,格式支持JSON/XPATH,具体为:

  • Variable:是变量名
  • Expression:是变量的获取方式
  • Value filter:需要过滤的变量内容,一般不填
  • Default value:变量默认值,一般不填
    其中,如果将 Expression 中设置为 $.a.b.c,即可获取到出下面 JSON 中的“value”。
{"a":{"b":{"c":"value"}}
}
Header parameters:

这类变量从 Header 中获取,具体为:

  • Request header:变量名即参数名
  • Value filter:需要过滤的变量内容,一般不填
    需要注意的是,获取到的变量名是小写字母的形式,且将会用 ‘_’ 字符代替‘-’字符。
Request parameters:

这类变量从 URL 的 Request 参数中获取,具体为:

  • Request parameter:变量名即参数名
  • Value filter:需要过滤的变量内容,一般不填
Token:

标识唯一性,只有和gogs中配置的token一致才能成功触发.
如果多个项目的此参数值一样,都会被触发。

打印内容:

提供了三个供日调试打印日志的参数

  • Silent response 当为true,只返回http 200 状态码,不返回触发结果
  • Print post content将 webhook 请求的内容打印到日志上
  • Print contributed variables 将 提取后的变量打印到日志上
如何对 Webhook 进行过滤:

Generic Webhook TriggerOptional filter 部分即可配置过滤策略。其中:

  • Expression:设置过滤(通过)的条件,通过正则方式进行判断
  • Text:带过滤的文本内容,可以使用系统变量(上一部中获取了很多系统变量就可以在这里使用)

正片来了

1.在系统管理中的系统管理Publish over SSH添加服务器配置
在这里插入图片描述
Publish over SSH配置
在这里插入图片描述

  1. Generic Webhook Trigger里面的Post content parameters参数中,填写Variable变量名,Expression需要在git返回中读取的Json串对应的参数。
    在这里插入图片描述
    3.在token参数中自定义输入,这个地方在gogs中webhoos钩子中能用到。

在这里插入图片描述
4 在Optional filter中输入正则,选择ref头部分支,判断是否启动;
在这里插入图片描述
5.选择服务器,并填写shell脚本语句;
在这里插入图片描述

这些配置好后,现在我们进入gogs中去配送webhooks;
1.进入gogs,选择仓库设置;中管理Web钩子
在这里插入图片描述
2. 在推送地址中写入钩子的地址
地址格式:
http://<jenkins地址:端口号>/generic-webhook-trigger/invoke?token=<密钥>
密钥就是在Generic Webhook Trigger中token中设置的值;
在这里插入图片描述
3. 其他的都设置好,保存,然后在钩子中单独测试。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200919163216119.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RpYW5Lb25nRGVUYW5nR3Vv,size_16,color_FFFFFF,t_70#pic_center
5.发送成功后,在Jekins项目中看看是否运行。

在这里插入图片描述

在这里插入图片描述
如果项目正常运行了,证明项目运行了起来。

完毕~~

这篇关于Jekins+Generic Webhook Trigger插件[gogs],发布前端任务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/873980

相关文章

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

Spring Boot 集成 Quartz 使用Cron 表达式实现定时任务

《SpringBoot集成Quartz使用Cron表达式实现定时任务》本文介绍了如何在SpringBoot项目中集成Quartz并使用Cron表达式进行任务调度,通过添加Quartz依赖、创... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir