持续集成06--Jenkins构建触发器

前言

        在持续集成(CI)的实践中,构建触发器是自动化流程中不可或缺的一环。它决定了何时启动构建过程,从而确保代码变更能够及时地得到验证和反馈。Jenkins,作为业界领先的CI/CD工具,提供了多种构建触发器选项,以满足不同项目和团队的需求。本章节“持续集成06--Jenkins构建触发器”将深入探讨Jenkins中可用的构建触发器类型,包括定时触发器、代码变更触发器(如Git/SVN推送触发器)以及手动触发器等。通过本章节的学习,将能够根据实际项目需求,灵活配置Jenkins的构建触发器,实现自动化构建的智能化和高效化。

        Jenkins构建触发器是指定义在Jenkins项目中,用于在满足特定条件时自动触发构建过程的机制。这些触发器可以根据时间、事件或其他条件来触发构建,从而自动化持续集成/持续交付(CI/CD)流程。除了手动构建外我们常用的触发模式有三种:其他项目代码更新时触发构建、定时触发构建、自动化测试代码更新时触发构建

 1、其他项目更新时触发构建

        当指定的其他Jenkins项目构建完成后,触发当前项目的构建。在构建链中,确保依赖的项目先构建完成,比如当开发构建代码的时候,接口自动化自动去进行运行。

        勾选其他项目构建后构建,关注项目填写其他项目名,根据具体需求选择下面的触发条件

 2、定时触发构建

        按照预定的时间表定期执行构建任务。执行周期性的构建任务,如每日构建、每小时构建等。根据用法不难看出使用规则,我们只需要设定好执行时间,程序便会按照设定执行, 如:

每15分钟构建一次:H/15 * * * *` 或 */15 * * * *

每天8点构建一次:H 8 * * *`或`0 8 * * *

每天8点~17点,两小时构建一次:H 8-17/2 * * *

周一到周五,8点~17点,两小时构建一次:H 8-17/2 * * 1-5

每月1号、15号各构建一次,除12月:H H 1,15 1-11 *

3、代码更新时触发构建

        当自动化测试代码有更新,自动进行构建jenkins项目;此方法较为特殊,我们的jenkins一般部署在公司内网,如果我们代码仓库在外网,那么当代码在Gitee远程仓库更新后,公司内网不允许外网远程仓库访问,所以不在同一网络(内网)下是无法进行更新后的触发。此时便需要我们部署本地代码仓库,这里引用的是Gogs(Gogs是一个用Go语言编写的轻量级、易于安装和管理的Git服务软件。它提供了一个简单而有效的解决方案,特别适合个人开发者或小型团队快速搭建Git服务)。具体安装、配置、使用,详见上篇文章:持续集成05--Gogs的安装与使用-CSDN博客

        3.1、Jenkins拉取Gogs仓库代码

                3.1.1、Jenkins配置Gogs

        Jenkins进入项目--配置--源码管理,将原本的Gitee仓库地址修改为Gogs仓库地址;添加Gogs账号的凭据

                 3.1.2、Jenkins添加Webhook

        前提:Jenkins需要安装Generic Webhook Trigger插件

        根据我们安装的Generic Webhook Trigger插件进行配置,进入项目配置页--构建触发器--勾选Generic Webhook Trigger--token输入token,保存修改,记住webhook链接 http://JENKINS_URL/generic-webhook-trigger/invoke?token=jenkins_token

                3.1.3、Gogs配置Webhook

        添加webhook前需要先设置Gogs配置,进入服务器输入命令,修改app.ini文件,修改后保存退出,然后重启gogs

vim /usr/local/gogs/custom/conf/app.ini# 添加内容(IP是自己服务器的地址):
LOCAL_NETWORK_ALLOWLIST = 192.168.235.133

      进入Gogs页面--仓库设置--管理web钩子,输入Jenkins配置的webhook,注意Jenkins_url需要替换为Jenkins的ip+端口

                3.1.4、验证更新构建

        可以现在gogs中测试推送,点击推送记录可以查看推送日志信息

        然后更新我们的Gogs代码内容,查看jenkins构建情况;实现代码更新,自动触发构建

 

总结

        在本章节“持续集成06--Jenkins构建触发器”的学习中,我们深入了解了Jenkins提供的多种构建触发器类型及其配置方法。这些触发器类型包括定时触发器、代码变更触发器、手动触发器等,它们各自具有不同的适用场景和优势。通过合理选择和配置这些触发器,我们可以实现自动化构建的智能化和高效化,确保代码变更得到及时验证和反馈。现在,我们已经掌握了Jenkins构建触发器的配置技巧,可以将其应用到实际项目中,提升团队的CI/CD流程效率和质量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3246997.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

jeecgboot项目不知道什么原因启动出来8080端口后就不下去了,要等上10多分钟才出来接口地址等正常情况

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、项目中途不知道什么原因,就出现下面情况 具体如下: 2024-07-15 15:08:15.767 [main] [34mINFO [0;39m [36mliquibase.changelog:30[0;39m - Reading from jeec…

什么是鉴权开发框架?如何认证和限流

目录 一、鉴权开发框架介绍二、Django REST framework是什么三、如何实现认证、权限与限流功能四、Django REST framework的应用场景 一、鉴权开发框架介绍 鉴权开发框架是一种用于实现身份验证和授权的软件开发工具。它可以帮助开发者快速构建安全、可靠的身份验证和授权系统…

Spring Boot 中使用 Resilience4j 实现弹性微服务的简单了解

1. 引言 在微服务架构中,服务的弹性是非常重要的。Resilience4j 是一个轻量级的容错库,专为函数式编程设计,提供了断路器、重试、舱壁、限流器和限时器等功能。 这里不做过多演示,只是查看一下官方案例并换成maven构建相关展示&…

DNS查询过程

DNS(域名系统,Domain Name System)是一个用于将域名和IP地址相互映射的系统。当你在浏览器中输入一个网址时,浏览器会通过DNS查询过程来找到对应的IP地址,以便能够连接到目标服务器。其查询过程一般通过以下步骤&#…

Netgear WN604 downloadFile.php 信息泄露漏洞复现(CVE-2024-6646)

0x01 产品简介 NETGEAR WN604是一款由NETGEAR(网件)公司生产的无线接入器(或无线路由器)提供Wi-Fi保护协议(WPA2-PSK, WPA-PSK),以及有线等效加密(WEP)64位、128位和152位支持,保障网络安全。同时支持MAC地址认证、802.1x RADIUS以及EAP TLS、TTLS、PEAP等安全机制,…

【Flowable | 第四篇】flowable工作流多任务实例节点实现会签/或签

文章目录 5.flowable工作流多任务实例节点实现会签/或签5.1会签/或签概念5.2多实例配置说明5.3会签例子5.3.1用户候选人配置5.3.2多实例配置5.3.3执行监听器配置5.3.5测试 5.flowable工作流多任务实例节点实现会签/或签 5.1会签/或签概念 我们在本篇中,将使用多任…

【JavaEE】synchronized原理详解

本文使用的是JDK1.8 目录 引言 Java对象在JVM的结构 对象头 Mark Word Monitor Owner EntryList WaitSet 加锁过程 锁消除 偏向锁 偏向锁使用 重偏向 撤销偏向 轻量级锁 重量级锁 自旋优化 引言 对于synchronized原理讲解之前,我们需要知道Java对象…

C#学习

C#学习 1.B站丑萌气质狗C#的循环-判断泛型错误处理面向对象static的使用定义showInfo类和Hero类 在这里插入图片描述 然后在该解决方案add新建一个类库,点击rebuild,会在bin文件夹下生成.dll文件 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direc…

SSE(Server Sent Event)实战(3)- Spring Web Flux 实现

上篇博客 SSE(Server Sent Event)实战(2)- Spring MVC 实现,我们用 Spring MVC 实现了简单的消息推送,并且留下了两个问题,这篇博客,我们用 Spring Web Flux 实现,并且看…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第二篇 Linux系统编程篇-第三十一章 文件IO和标准IO

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

进程的优先级与命令行参数

一、进程的优先级 1、理解 制定一个进程获取某种资源的先后顺序。 在Linux中数字越小优先级越高。 2、优先级的意义 进程访问资源始终是有限的,系统中的进程都是很多的。 操作系统关于调度和优先级规则 分时操作系统,基本公平。如果进程长时间不被…

Study--Oracle-07-ASM自动存储管理(二)

一、ASM安装准备条件 1、ASM支持存储类型 本地祼设备(本地的磁盘和分区) 网络附加存储(NAS) 存储区域网络(SAN) 2、ASM使用本地裸设备,要点: 已经被挂载到操作系统上或者已经做了分区 映射裸设备为文件名 设置正确的权限(针对grid用户和asmadmin组,权限为660) 二、OR…

玄机-第一章 应急响应-webshell查杀

文章目录 前言简介应急开始准备工作步骤 1步骤 2步骤 3步骤 4 总结 前言 作者是个垃圾,第一次玩玄机太紧张了,不知道flag是啥样找了半天,第二次开靶机多次尝试才知道格式。争取下次一次过。 简介 靶机账号密码 root xjwebshell 1.黑客webshel…

网络割接方案通用模板

第一章 项目概述 1.1 编写目的 为规范“十三五”以来,随着移动互联新技术的发展以及我国政府职能的不断转变, 我国的政法网络进入新的发展阶段,跨地域、跨部门、跨系统的信息共享、业务 协同以及智慧政务等成为了各地电子政务的重点建设内容。…

【数学建模】——多领域资源优化中的创新应用-六大经典问题解答

目录 题目1:截取条材 题目 1.1问题描述 1.2 数学模型 1.3 求解 1.4 解答 题目2:商店进货销售计划 题目 2.1 问题描述 2.2 数学模型 2.3 求解 2.4 解答 题目3:货船装载问题 题目 3.1问题重述 3.2 数学模型 3.3 求解 3.4 解…

MATLAB-Simulink模型加密

1、封装子系统 假如已经是子系统,需要确认子系统是否为虚拟子系统如果是虚拟子系统需要将虚拟子系统设置为非虚拟子系统也就是原子子系统。 右击子系统模块,选择Block Parameter->勾选Treat as atomic unit 设置仿真步长 2、将设置好的子系统转换为…

【Outlook】从Outlook新版回归经典版全攻略

引言 在微软宣布计划于2024年底淘汰邮件应用(Mail app)之后,许多用户发现新版Outlook应用(Outlook (new))在他们的Windows 11/10系统上自动启动。如果您更倾向于使用经典版Outlook(Outlook (classic)&…

实验丰富、原创改进!|多策略改进蜣螂优化算法(MATLAB)

本文内容来源于本人公众号:KAU的云实验台,更新内容:智能优化算法及其改进应用。 本文核心内容: 新颖的多策略改进蜣螂优化算法 对比算法包括:高引用/新发布/经典/其他DBO变体(共11种) 实验设计…

Go语言中GC(垃圾回收回收机制)三色标记与混合写屏障

5、Golang三色标记混合写屏障GC模式全分析 (yuque.com) 第1讲-课程目标_哔哩哔哩_bilibili Golang三色标记GC混合写屏障 Go V1.3之前的标记清除(mark and sweep) 垃圾回收、内存管理、自动适放、三色标记法、STW (stop the world) 图的遍历?可达性分…

ArgMed-Agents:通过多个智能体论证方案增强大模型,进行可解释的临床决策推理

ArgMed-Agents:通过多个智能体论证方案增强大模型,进行可解释的临床决策推理 提出背景ArgMed-Agents 框架目的解法拆解逻辑链 临床讨论的论证方案(ASCD)论证方案用于决策(ASDM)论证方案用于副作用&#xff…