当前位置: 首页 > news >正文

持续集成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://www.lryc.cn/news/401498.html

相关文章:

  • 根据视图矩阵, 恢复相机的世界空间的位置
  • 使用pytest-playwright截图和录制视频并添加到Allure报告
  • pytorch GPU cuda 使用 报错 整理
  • python + Pytest + requests 的接口自动化步骤
  • 基于若依的ruoyi-nbcio流程管理系统修正自定义业务表单的回写bug
  • GD32 MCU上电跌落导致启动异常如何解决
  • 安防视频监控/视频汇聚EasyCVR平台浏览器http可以播放,https不能播放,如何解决?
  • rust + python+ libtorch
  • ts检验-变量的类型不会包含 undefined的几种处理方法
  • springboot 集成minio,启动报错
  • bignumber.js库,解决前端小数精度问题
  • Java爬虫安全策略:防止TikTok音频抓取过程中的请求被拦截
  • 通过手机控制家用电器的一个程序的设计(一)
  • 批量提取PDF指定区域内容到 Excel , 根据PDF文件第一行文字来自动重命名v1.3-附思路和代码实现
  • 【持续集成_05课_Linux部署SonarQube及结合开发项目部署】
  • 人像视频预处理【时间裁剪+画面裁切+调整帧率】
  • SpringBoot+HttpClient实现文件上传下载
  • QT--控件篇四
  • opencv—常用函数学习_“干货“_2
  • 解析CSS与JavaScript的使用方法及ECMAScript语法规则
  • 从零开始学习嵌入式----结构体struct和union习题回顾
  • 建筑产业网元宇宙的探索与实践
  • 比较RMI、HTTP+JSON/XML、gRPC
  • 软件工程-可行性分析
  • iOS ------ 消息传递和消息转发
  • 计算机视觉之Vision Transformer图像分类
  • 【深度学习】BeautyGAN: 美妆,化妆,人脸美妆
  • RocketMQ~架构与工作流程了解
  • 学习Python的IDE功能--(一)入门导览
  • gdb调试多线程程序