当前位置: 首页 > 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流程效率和质量。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 集线器、交换机、路由器的区别,冲突域、广播域
  • 【RabbitMQ】一文详解消息可靠性
  • 基于springboot和mybatis的RealWorld后端项目实战三之添加swagger
  • HarmonyOS NEXT学习——@BuilderParam装饰器
  • golang mux组件兼容转移url
  • 【Linux】安装PHP扩展-redis
  • 【B树、B-树、B+、B*树】
  • 框架设计MVC
  • 暴力风扇无刷电机驱动方案pcba设计研发
  • 阿里云短信PHP集成api类
  • 【gpt】学习笔记:ChatGPT 用于 3D 内容生成搭配nvidia deepsearch
  • stm32使用通用定时器生成pwm
  • jenkins系列-07.轻易级jpom安装
  • FPGA CFGBVS 管脚接法
  • 彻底改变时尚:使用 GAN 实现 AI 的未来
  • Babel配置的不完全指南
  • JavaScript服务器推送技术之 WebSocket
  • laravel 用artisan创建自己的模板
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • socket.io+express实现聊天室的思考(三)
  • 成为一名优秀的Developer的书单
  • 第2章 网络文档
  • 使用API自动生成工具优化前端工作流
  • 移动端 h5开发相关内容总结(三)
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 说说我为什么看好Spring Cloud Alibaba
  • ​埃文科技受邀出席2024 “数据要素×”生态大会​
  • ​马来语翻译中文去哪比较好?
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #每天一道面试题# 什么是MySQL的回表查询
  • (2024)docker-compose实战 (8)部署LAMP项目(最终版)
  • (26)4.7 字符函数和字符串函数
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (搬运以学习)flask 上下文的实现
  • (二十三)Flask之高频面试点
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (十六)视图变换 正交投影 透视投影
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)Neo4j下载安装以及初次使用
  • (原)本想说脏话,奈何已放下
  • (转)EXC_BREAKPOINT僵尸错误
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .net dataexcel 脚本公式 函数源码
  • .net framework 4.0中如何 输出 form 的name属性。
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 设计一套高性能的弱事件机制
  • .net后端程序发布到nignx上,通过nginx访问
  • .NET开源纪元:穿越封闭的迷雾,拥抱开放的星辰
  • .NET性能优化(文摘)
  • .NET中两种OCR方式对比
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • [ Socket学习 ] 第一章:网络基础知识
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [100天算法】-不同路径 III(day 73)