CI/CD—Jenkins配置Poll SCM触发自动构建

Poll SCM简介

在 Jenkins 等持续集成工具中,“Poll SCM” 是一种用于轮询软件配置管理(SCM)系统以检查代码变更的机制,以下是对它的详细介绍:

作用

  • “Poll SCM” 允许 Jenkins 定期检查指定的 SCM 系统(如 Git、Subversion 等),查看是否有新的代码提交或其他变更。如果检测到有变更,Jenkins 就会触发相应的构建任务,确保项目能够及时基于最新的代码进行构建和测试等操作,从而实现持续集成的自动化流程。

工作原理

  • Jenkins 按照用户在 “Poll SCM” 字段中配置的定时规则,周期性地向 SCM 系统发送请求,询问是否有新的变更。例如,配置为*/5 * * * *,则表示 Jenkins 每 5 分钟会检查一次 SCM 系统。当 SCM 系统响应请求并返回有变更的信息时,Jenkins 会根据预先设定的构建配置,启动构建过程,拉取最新代码,执行编译、测试等一系列任务。

配置方式

  • 在 Jenkins 的项目配置页面中,通常可以找到 “Poll SCM” 的配置项,用户需要在此处输入类似于 Cron 表达式的定时规则,来指定检查 SCM 系统的频率。如H/10 * * * *表示每隔 10 分钟左右随机在某个时间点检查一次 SCM,以更均匀地分散系统负载。除了基本的定时规则,还可以根据具体的 SCM 系统和项目需求,配置额外的参数,如指定要检查的特定分支、标签等。

与其他触发方式对比

  • 与 Webhook 触发对比:Webhook 是 SCM 系统在有代码变更时主动向 Jenkins 发送通知,触发构建。而 “Poll SCM” 是 Jenkins 主动去 SCM 系统检查变更。Webhook 的实时性更好,能在变更发生后立即触发构建,但可能需要在 SCM 系统和 Jenkins 之间进行额外的配置和网络设置。“Poll SCM” 相对简单,不需要 SCM 系统主动推送,但可能存在一定的延迟,不能及时检测到变更。
  • 与定时构建对比:定时构建是按照固定的时间间隔无条件地执行构建任务,而不管代码是否有变更。“Poll SCM” 则是在定时的基础上,检查 SCM 系统是否有变更才触发构建,更加智能,能避免不必要的构建任务,节省系统资源。

一、配置Poll SCM触发构建

步骤一:进入项目配置页面

登录 Jenkins 控制台,在项目列表中找到要配置的项目,点击项目名称进入项目主页。
在项目主页的左侧菜单中,点击 “配置” 选项,进入项目配置页面。


步骤二:找到 “构建触发器” 部分

在项目配置页面中,向下滚动找到 “构建触发器” 部分。


步骤三:启用 “Poll SCM”

在 “构建触发器” 部分,勾选 “Poll SCM” 选项。勾选后会出现一个文本框,用于输入轮询的时间规则。


步骤四:配置轮询时间规则

因为在本实验中测试需要配置成每分钟一次检查一次

* * * * *

步骤五:保存配置

输入完轮询时间规则后,向下滚动页面,点击 “保存” 按钮,保存项目配置。
验证配置

 

注意事项:

    在实际的开发环境中选择分支时最好是选择主分支,因为每个版本都需要合并代码,如果配置成主分支以外的分支可能会频繁的触发自动构建的条件,对系统资源造成浪费,同时也会导致测试环境的不稳定。

二、合并代码触发配置

1、修改代码

2、提交代码

3、合并代码

4、Jenkins上查看是否触发Jenkins自动构建

已经自动触发构建

5、测试机器上验证代码是否自动下发

前端验证 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Javaweb后端文件上传@value注解

文件本地存储磁盘 阿里云oss准备工作 阿里云oss入门程序 要重启一下idea,上面有cmd 阿里云oss案例集成 优化 用spring中的value注解

命名管道的创建和通信实现

目录 命名管道的创建 使用函数创建命名管道的通信 预备创建 makefile设计 server.hpp设计 clent.hpp设计 comm.hpp设计 server.cc设计 clent.cc设计 测试运行 今天我们来学习命名管道 由于匿名管道(pipe())无法在两个毫不相干的进程之间进行通…

密码学 网络安全 科普 网络安全密码技术

网络加密包括密码技术和网络加密方法两个方面。 一、 密码技术   密码技术一般分为常规密码和公钥密码。   常规密码是指收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有DES及其各种变形、IDEA、FEAL、Skipjack…

LLM run

lmstudio lmstudio ollama ollama N 卡使用自带UI gpu加速推理 ,选择满足条件的, ds模型选择列表 https://ollama.com/library/deepseek-r1 a卡当前支持的显卡型号 I卡 gpu加速配置 2025.3 intel Official project optimization https://www.modelscope.cn/m…

[Java]使用java进行JDBC编程

首先要从中央仓库下载api(类似驱动程序),为了链接java和mysql 下载jar包,需要注意的是jar包的版本要和mysql保持一致 下面是新建文件夹lib,把jar包放进去,并添加为库 sql固定的情况下运行 import com.mysql.cj.jdbc.MysqlDataSo…

小程序事件系统 —— 32 事件系统 - 事件分类以及阻止事件冒泡

在微信小程序中,事件分为 冒泡事件 和 非冒泡事件 : 冒泡事件:当一个组件的事件被触发后,该事件会向父节点传递;(如果父节点中也绑定了一个事件,父节点事件也会被触发,也就是说子组…

某些网站访问很卡 or 力扣网站经常进不去(2025/3/10)

很早之前就感觉力扣很卡,但是以为很正常,今天偶然感觉很不对劲,其他网站都能打开,就力扣打不开,很烦人,这里还是记录一下(截止 2025/3/10 方法有效)。 问题原因 DNS解析错误&#x…

【网络安全工程】任务10:三层交换机配置

CSDN 原创主页:不羁https://blog.csdn.net/2303_76492156?typeblog三层交换机是指在OSI(开放系统互连)模型中的第三层网络层提供路由功能的交换机。它不仅具备二层交换机的交换功能,还能实现路由功能,提供更为灵活的网…

SpringMVC-全局异常处理

文章目录 1. 全局异常处理2. 项目异常处理方案2.1 异常分类2.2 异常解决方案2.3 异常解决方案具体实现 1. 全局异常处理 问题:当我们在SpingMVC代码中没有对异常进行处理时,三层架构的默认处理异常方案是将异常抛给上级调用者。也就是说Mapper层报错会将…

天津大学:《深度解读DeepSeek:部署、使用、安全》

大家好,我是吾鳴。 吾鳴之前给大家分享过由天津大学出品的报告《DeepSeek原理与效应》,今天吾鳴再给大家分享一份由天津大学出品的报告——《深度解读DeepSeek:部署、使用、安全》。 报告主要从DeepSeek本地化部署、DeepSeek使用方法与技巧、…

Dagger 2 系列(五)——进阶之@Scope 和 @Singleton

前言: 在上一篇Dagger 2 系列(四)——Named 和 Qualifier注解介绍,了Named 和 Qualifier注解,这篇文章,我们将会了解另外俩个注解:Scope 和 Singleton。 在这篇文章中你会了解到: …

STM32初始安装

前言 很多人刚买来STM32就迫不及待地想要用它来写程序,看见STM32开发版和ST-Link上有几个插口就直接连接,结果就像我一样一不小心就导致ST -Link烧坏了😂 所以本篇博客将做最基础的但是对于小白来说最重要的教学,STM32的线路连接…

爱普生温补晶振 TG5032CFN高精度稳定时钟的典范

在科技日新月异的当下,众多领域对时钟信号的稳定性与精准度提出了极为严苛的要求。爱普生温补晶振TG5032CFN是一款高稳定性温度补偿晶体振荡器(TCXO)。该器件通过内置温度补偿电路,有效抑制环境温度变化对频率稳定性的影响&#x…

深入理解C语言链表:数据结构的基石

在C语言的编程宇宙中,链表就像是一座稳固的基石,支撑着众多复杂程序的构建。它以独特的魅力和强大的功能,在解决各类编程难题时发挥着至关重要的作用。今天,就让我们一同深入探索链表的奥秘。 目录 一、链表初相识 二、链表的结…

从头开始开发基于虹软SDK的人脸识别考勤系统(python+RTSP开源)(二)

今天咱们继续昨天的话题,今天的重点是看思路和代码了。废话不多说,直接上干货。 先说一句,为了省事,直接一个文件完成所有功能,可能在代码可读性上差一些,比较眼花缭乱哈哈。整个文件含空行代码共1931行&a…

报表控件stimulsoft操作:使用 Angular 应用程序的报告查看器组件

Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了…

【网络编程】WSAAsyncSelect 模型

十、基于I/O模型的网络开发 接着上次的博客继续分享:select模型 10.8 异步选择模型WSAAsyncSelect 10.8.1 基本概念 WSAAsyncSelect模型是Windows socket的一个异步I/O 模型,利用这个模型,应用程序 可在一个套接字上接收以Windows 消息为基…

从0开始的操作系统手搓教程43——实现一个简单的shell

目录 添加 read 系统调用,获取键盘输入 :sys_read putchar和clear 上班:实现一个简单的shell 测试上电 我们下面来实现一个简单的shell 添加 read 系统调用,获取键盘输入 :sys_read /* Read count bytes from the file pointed to by fi…

鸿蒙应用开发—数据持久化之SQLite

文章目录 SQLite简介创建数据库添加数据查询数据更新数据删除数据升级数据库使用事务参考 SQLite简介 SQLite是一个轻量级关系数据库,占用资源很少,只有几百KB的大小,无需服务器支撑,是一个零配置、事务性的SQL数据库引擎。 相对…

应急响应--流量分析

(一)Cobalt Strike流量特征分析 1.HTTP特征 源码特征: 在流量中,通过http协议的url路径,在checksum8解密算法计算后,32位的后门得到的结果是92,64位的后门得到的结果是93,该特征符…