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

(十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用

前言

本节内容我们主要介绍在Jenkins流水线中,其构建过程中的一些构建策略的配置,例如通过远程http构建、定时任务构建、轮询SCM构建、参数化构建、Git hook钩子触发构建等,可根据不同的需求完成不同构建策略的配置。

正文

Throttle builds:限制构建的频率

- 构建策略说明:

- 测试验证

不允许并发构建 

- 构建说明

- 测试验证

丢弃旧的构建 

- 配置策略说明

- 测试验证

参数化构建过程 

- 配置策略

- 在构建参数中使用${}方式引用变量值

- 构建时根据变量选项切换构建项目的参数,示例这里是根据选项切换源码分支

流水线效率、持久保存设置覆盖 

- 策略配置

最短持久性模式(Minimize Durability):在这个模式下,Pipeline 的执行日志仅保存在内存中,并且在 Jenkins 重启后无法恢复。这种模式对 Jenkins 性能具有最小的影响,但在 Jenkins 失败或重启后无法继续执行。

中等持久性模式(Limited Durability):在这个模式下,Pipeline 的执行日志会保存到磁盘上,但并不保证在 Jenkins 重启后能够继续执行。这种模式提供了一定程度的持久性,并且对 Jenkins 性能的影响较小。

最长持久性模式(Maximize Durability):在这个模式下,Pipeline 的执行日志将保存在 Jenkins Master 上,并且可以在 Jenkins 重启后继续执行。这种模式提供了最高的持久性,即使在 Jenkins 失败或重启后,流水线也可以从中断的地方继续执行。但是,这可能对 Jenkins 性能产生一些影响。

其他工程构建后触发

- 策略配置

- 验证测试

 定时构建

- 策略配置

- 总共五位,MINUTE HOUR DOM MONTH DOW,代表分钟、小时、天、月、星期

- 一些规则配置说明

# Every fifteen minutes (perhaps at :07, :22, :37, :52):
H/15 * * * *     每隔十五分钟执行一次
# Every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24):
H(0-29)/10 * * * *  每隔小时的前半小时内,每隔10分钟执行一次
# Once every two hours at 45 minutes past the hour starting at 9:45 AM and finishing at 3:45 PM every weekday:
45 9-16/2 * * 1-5  每个工作日从上午 9:45 开始,每隔两个小时执行一次,直到下午 3:45 结束
# Once in every two hour slot between 8 AM and 4 PM every weekday (perhaps at 9:38 AM, 11:38 AM, 1:38 PM, 3:38 PM):
H H(8-15)/2 * * 1-5 每个工作日的上午 8 点到下午 4 点之间的每个两小时时间段内执行一次

 轮询SCM

- 配置策略

- 测试验证,修改master分支代码,查看是否会自动构建

关闭构建 

- 关闭构建:这个选项是用来禁止一个项目在Jenkins 中执行新的构建任务的。当您勾选这个选项时,Jenkins 将不会自动触发该项目的构建,即使满足了触发条件也不会执行构建任务。

- 构建会被禁用

 静默期

- 策略说明:如果设置此选项,一个计划中的构建在开始之前需要等待选项中设置的秒数。

触发远程构建 (例如,使用脚本) 

- 策略说明:可以通过http请求发起任务构建

 - 访问请求:http://192.168.110.88:8080/job/ht-test/build?token=123456

结语

相关文章:

  • 数据结构笔记1线性表及其实现
  • 个人app如何上架到安卓市场
  • Linux常见基本指令
  • 阿里云幻兽帕鲁服务器操作系统Linux和Windows哪个好?
  • LeetCode LCR 085. 括号生成
  • SpringBoot3整合MinIO
  • 【前端工程化面试题目】webpack 的热更新原理
  • 加解密算法
  • 【2024毕业快刊】检索49年老刊,中科院TOP,最快21天,国人友好,着急毕业推荐!
  • 无向图的双连通分量
  • ElementUI table表格组件实现双击编辑单元格失去焦点还原,支持多单元格
  • 深度学习基础之《TensorFlow框架(6)—张量》
  • haproxy集成国密ssl功能
  • 23-k8s中的控制器资源-DaemonSet控制器
  • PiflowX-组件UnionAll
  • 【译】JS基础算法脚本:字符串结尾
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 2017前端实习生面试总结
  • Apache Spark Streaming 使用实例
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • golang中接口赋值与方法集
  • JAVA 学习IO流
  • JavaScript-Array类型
  • JavaScript对象详解
  • php面试题 汇集2
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • tab.js分享及浏览器兼容性问题汇总
  • vue2.0项目引入element-ui
  • win10下安装mysql5.7
  • 番外篇1:在Windows环境下安装JDK
  • 欢迎参加第二届中国游戏开发者大会
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 力扣(LeetCode)56
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 那些年我们用过的显示性能指标
  • 排序(1):冒泡排序
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • #QT(一种朴素的计算器实现方法)
  • $.ajax()方法详解
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (1)bark-ml
  • (ibm)Java 语言的 XPath API
  • (Python) SOAP Web Service (HTTP POST)
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (九)One-Wire总线-DS18B20
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (一)SpringBoot3---尚硅谷总结
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .NET DevOps 接入指南 | 1. GitLab 安装