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

el/2024/4/19 22:22:28

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项目中看看是否运行。

在这里插入图片描述

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

完毕~~


http://www.ngui.cc/el/5181801.html

相关文章

获取openlayer图层中的范围 Extent

foolerPolygon 为图层 foolerPolygon.getSource().getExtent()

Fresco图片加载框架使用方法完全指南

简介 Fresco 是Facebook开源的安卓上的图片加载框架,也可以说是至今为止安卓上最强大的图片加载框架. 相对于其他几个图片加载框架,Fresco主要的优点在于更好的内存管理和更强大的功能,更便捷的使用,缺点则是体积比较大,引入后会导致应用apk增加1.5M到2M的大小,但是相对于其便捷…

根据控件的大小来具体的压缩图片

如题&#xff0c;如下 [java] view plain copy print ? public static void load(Uri uri,SimpleDraweeView draweeView,int width,int height, <span style”white-space:pre”> </span>){ ImageRequest request I…

SwipeToLoadLayout--小白也能轻松定制自己的刷新效果

刚开始接触android的时候&#xff0c;就想着如果能定制一款属于自己的刷新效果&#xff0c;肯定会是一件很酷的事情&#xff0c;当然了&#xff0c;github上已经有了很多很炫酷的刷新效果&#xff0c;各种漂亮&#xff0c;但在项目中总要讲究个实用性&#xff0c;有些刷新效果是…

团队在Github上协同开发项目流程

多用户基于同一个Github上得项目并行开发&#xff0c;当前用户的开发流程&#xff1a; 注&#xff1a; origin&#xff1a;默认的远程主机名 master&#xff1a;默认的远程主分支名 1&#xff1a;首先要将Github上的项目克隆到本地&#xff08;第一次克隆&#xff0c;说明你的本…

recyclerview item的进入动画

自动Material Design出现以来&#xff0c;我对一些视频中演示的网格铺开动画感到惊讶。这是一种斜对角线动画&#xff0c;让activity从上到下从左到右铺开。非常漂亮。 我一直试图尝试所有能得到那种效果的方法。一种办法是&#xff0c;使用RecyclerView::notifyItemInserted()…

干货!android开发界面设计的资源

随着 Android 5.0 的面世&#xff0c;Google 也带来了全新的设计规范 Material Design 。第一次看到 Material Design 的应用&#xff0c;简直是太好看了&#xff0c;有没有&#xff01;下面呢&#xff0c;我将主要介绍一下&#xff0c;我在开发时常用到的一些网站 界面设计 dr…

android studio自带调试工具

Android Studio目前已经成为开发Android的主要工具&#xff0c;用熟了可谓相当顺手。作为开发者&#xff0c;调试并发现bug&#xff0c;进而解决&#xff0c;可是我们的看家本领。正所谓&#xff0c;工欲善其事必先利其器&#xff0c;和其他开发工具一样&#xff0c;如Eclipse、…

Android 获得手机屏幕宽高参数的几种方法

几种获取手机屏幕宽高的方法&#xff0c;选取你喜欢的就好 方法1&#xff1a; WindowManager windowManager (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); int width windowManager.getDefaultDisplay().getWidth(); int height windowManager.getDe…

android 反编译App的方法和工具

开发的过程中&#xff0c;有时候可能会去使用别的app里面的图片&#xff0c;参考布局甚至代码等&#xff0c;但是一般的.apk都是经过代码混淆的&#xff0c;这里分享下使用一些工具进行反编译.apk文件&#xff0c;主要就是软件的分享和教大家如何使用。 1、Android-apktool 主要…