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

news2024/12/23 17:09:13

前言

        在持续集成(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://www.coloradmin.cn/o/1931740.html

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

相关文章

【C++编程】双端数组 deque 容器基本操作

🔥 特点:deque 头插、头删速度比 vector 快 deque 是一个双向队列(double-ended queue),可以在队列的两端进行元素的插入和删除操作。 deque 涵盖了 queue(队列)、stack(堆栈&#x…

一五六、Node+Vue 使用七牛上传图片,并配置个人域名

1. 七牛云ak/sk获取 点击注册🔗开通七牛开发者帐号如果已有账号,直接登录七牛开发者后台,点击这里🔗查看 Access Key 和 Secret Key 2. Node.js获取七牛token 安装qiniu npm install qiniu创建空间 Node获取token const qi…

在SpringCloud中如何轻松实现微服务间的通信

在Spring Cloud中,实现微服务间的通信非常简单。Spring Cloud提供了多种方式来进行微服务之间的通信,包括使用RestTemplate、Feign、Ribbon、Eureka等组件。下面我将详细介绍这些方式的使用方法。 使用RestTemplate进行通信: RestTemplate是S…

ECCV2024|GLAD:利用全局和局部自适应扩散模型实现更好的无监督异常检测重建

GLAD:利用全局和局部自适应扩散模型实现更好的无监督异常检测重建 论文标题:GLAD: Towards Better Reconstruction with Global and Local Adaptive Diffusion Models for Unsupervised Anomaly Detection 论文地址:https://arxiv.org/abs/2…

字符串类中的常用方法

1 string对象的创建 静态创建 String s1  "abc";  String s2  "abc";  动态创建 String s3  new String("abc"); String s4  new String("abc"); 2string对象的不可变性 任何一个String对象在创建之后都不能对它的…

blender中设置物体的中心到某个顶点

方式一: 1,首先选中物体, 2,选中编辑模式, 3,选中点模式,并选择物体的一个顶点 4,鼠标点击右键---- 吸附至像素点--游标->选中项,这样,游标移动到了选中…

PulsarClient源码解析

一、Pulsar客户端简析 pulsar服务是经典的C/S架构,由客户端和服务端构成。服务端提供处理读写请求服务,客户端负责发起读写请求。pulsar将客户端按照读写分成了生产者和消费者,但是无论怎么分,它们本质上都是Pulsar客户端并有很多…

QT--控件篇四

一、对话框 在软件开发中,对话框(Dialog)是一种常见的用户界面元素,用于与用户进行交互和获取信息。它通常以模态或非模态的形式出现,模态对话框会阻止用户与应用程序的其他部分交互,直到对话框关闭为止&a…

快速排序(quick sort)

欢迎来到一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力 对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426qq.com 。发布文章的风格因专栏而异,均自成体系,不足…

nftables(9)NAT、FLOWTABLES

NAT NAT简介 我们在iptables、firewalld中都介绍过有关NAT的相关部分。那么在nftables中,我们继续介绍nftables中NAT的功能实现方式,配置方法和与前两者的区别。 我们先简单回顾一下NAT的类型和其功能: 这些是不同的网络地址转换&#xf…

在 Windows 上开发.NET MAUI 应用_1.安装开发环境

开发跨平台的本机 .NET Multi-platform App UI (.NET MAUI) 应用需要 Visual Studio 2022 17.8 或更高版本,或者具有 .NET MAUI 扩展的最新 Visual Studio Code。要开始在 Windows 上开发本机跨平台 .NET MAUI 应用,请按照安装步骤安装 Visual Studio 20…

leetcode94. 二叉树的中序遍历,递归法+迭代法。附带前序遍历方法

leetcode94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root [] 输出:[] 示例 3: …

高职综合布线实训室

一、高职综合布线实训室建设背景 随着《国民经济和社会发展第十四个五年规划和2035年远景目标纲要》的深入实施,数字化转型已成为国家发展的核心战略之一,计算机网络技术作为数字化建设的基石,其重要性日益凸显。然而,面对数字时代…

【手撕RLHF-DPO(1)】不是PPO训不起,而是DPO更有性价比!

Introduction Direct Preference Optimization: Your Language Model is Secretly a Reward Model 在LLM对齐问题上,OpenAI提出的RLHF训练范式最为人熟知,同时也是ChatGPT行之有效的对齐方案。 RLHF通常包含三个步骤:SFT, Reward Model, PPO…

【STM32】RTT-Studio中HAL库开发教程三:IIC通信--AHT20

文章目录 一、I2C总线通信协议二、AHT20传感器介绍三、STM32CubeMX配置硬件IIC四、RTT中初始化配置五、具体实现代码六、实验现象 一、I2C总线通信协议 使用奥松的AHT20温湿度传感器,对环境温湿度进行采集。AHT20采用的是IIC进行通信,可以使用硬件IIC或…

Visual Studio使用——在vs中给vb.net项目添加新的窗口:新建的方式、添加已有窗口的方式

目录 引出Visual Studio使用vb添加新的窗体自定义代码片段vs显示所有文件 总结Idea安装和使用0.Java下载 和 IDEA工具1.首次新建项目2.隐藏文件不必要显示文件3.目录层级设置4.Settings设置选择idea的场景提示代码不区分大小写 取消git的代码作者显示 引出 Visual Studio使用—…

trl - 微调、对齐大模型的全栈工具

文章目录 一、关于 TRL亮点 二、安装1、Python包2、从源码安装3、存储库 三、命令行界面(CLI)四、如何使用1、SFTTrainer2、RewardTrainer3、PPOTrainer4、DPOTrainer 五、其它开发 & 贡献参考文献最近策略优化 PPO直接偏好优化 DPO 一、关于 TRL T…

安全防御,防火墙配置NAT转换智能选举综合实验

目录: 一、实验拓扑图 二、实验需求 三、实验大致思路 四、实验步骤 1、防火墙的相关配置 2、ISP的配置 2.1 接口ip地址配置: 3、新增设备地址配置 4、多对多的NAT策略配置,但是要保存一个公网ip不能用来转换,使得办公区的…

c++入门----类与对象(上)

大家好啊,好久没有更新了。因为本人的愚笨,想与大家分享的话肯定还得自己明白了才能给大家分享吧。所以这几天都在内部消化。好给大家优质的文章。当然我写的肯定还是很有问题的,希望大家可以在评论区里面指出来。好,废话不多说&a…

LabVIEW 与 PLC 通讯方式

在工业自动化中,LabVIEW 与 PLC(可编程逻辑控制器)的通信至关重要,常见的通信方式包括 OPC、Modbus、EtherNet/IP、Profibus/Profinet 和 Serial(RS232/RS485)。这些通信协议各有特点和应用场景&#xff0c…