DevOps-6:Jenkins使用技巧

news2024/10/7 16:24:32

1、如何提升Jenkins的Job并行构建数

默认情况下,Jenkins只配置了2个Executor,即只允许最多2个Job同时构建,这个值可以修改:
Manage Jenkins=>Configure System里,找到 # of executors,修改这个值就好,注意不要太大,不然机器卡了。
一般建议按CPU核数来配置。


2、同一个Job如何并行执行?

默认情况下,同一个Job启动了多个构建时,在前一个构建未结束前,第二个构建不会启动,会提示jenkins pending is already in progress,第一个结束后,才会启动第二个构建。
这也是比较安全的作法,避免Job的一些数据冲突。

如果你确实希望一个Job的多个构建能同时启动,在Job的配置页面,有一个选项:Execute concurrent builds if necessary,勾选它即可。
在这里插入图片描述


3、多个Job如何互斥,防止并行?

只要有足够的Jenkins Executor,不同的Job就可以并行启动构建。
有时我们希望不同的Job间要互斥,某一个Job在构建中时,禁止另一个Job启动。
这个需要依赖一个插件:lockable resources,安装完插件,要先配置资源(其实就是字符串)

  • 进入Manage Jenkins=>Configure System,找到 Lockable Resources Manager,点击Add Lockable Resource:

    • Resource Name: 必填,用于加锁的字符串,不能有空格,比如 I_am_a_lock,建议由字母数字下划线组成
    • Description: 可选,说明文字,无作用
    • Labels: 可选,用于加锁的字符串子集,允许多个字符串,用空格区分,比如 aaa bbb ccc
    • Reserved by:可选,不为空表示该资源处于维护中,此时所有依赖此资源的Job,都会处于挂起状态:(pending—Waiting for resources with xxx)
      注:这么配置完后,我们就有了4个资源,可以用于加锁:I_am_a_lock aaa bbb ccc
      在这里插入图片描述
  • 配置好资源后,进入需要互斥的每个Job的配置页,勾选This build requires lockable resources,在下面的

    • 只在Resources里输入上面配置的I_am_a_lock
    • 只在Label里输入上面配置的 bbb
    • 注意:ResourcesLabel,只能输入一个,另一个必须为空
    • 注意:需要互斥的每个Job都要配置一遍,且配置要相同
  • OK,启动第一个Job,再启动第二个Job:

    • 如果此时第一个未完成,第二个会提示等待(pending—Waiting for resources with label bbb)
    • 第一个Job的Console Output里会有如下字样,启动时加锁,结束时释放锁:
22:24:14 [lockable-resources] acquired lock on [I_am_a_lock]
....
22:24:29 [lockable-resources] released lock on [I_am_a_lock]

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

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

相关文章

DW学生美食网页设计作业——餐饮美食汉堡企业网站6页面带轮播(HTML+CSS+JavaScript)

👨‍🎓静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的…

cython混淆加密

python代码是一种解释型的语言,有了代码和环境就可以执行,它无需编译。如果需要对代码进行混淆,可以借助cython这个库。它的安装很简单,直接运行pip install cython就可以安装。 进行代码混淆之前,还需要一个环境&…

windows下编译libevent源码

《Linux下编译libevent源码》讲述了linux下编译libevent源码的方法,本文讲述其在windows平台的编译。 一、下载libevent源码 https://libevent.org/ 下载libevent源码并解压。 二.安装依赖项 下载安装OpenSSL。https://slproweb.com/products/Win32OpenSSL.html 三…

MySQL8.0高级篇(下)-事务与日志和备份

文章目录一、事务基础知识1、数据库事务概述1.1 基本概念1.2 事物的ACID特性1.3 事务的状态2、如何使用事务2.1 显式事务2.2 隐式事务2.3 隐式提交数据的情况2.4 使用举例3、事务隔离级别3.1 数据准备3.2 数据并发问题3.3 SQL中的四种隔离级别3.4 MySQL支持的四种隔离级别4、事…

【实时数仓】DWM层订单宽表之需求分析、订单和订单明细关联源码

文章目录一 DWM层-订单宽表1 需求分析与思路2 订单和订单明细关联代码实现(1)从Kafka的dwd层接收订单和订单明细数据a 创建订单实体类b 创建订单明细实体类c 在dwm包下创建OrderWideApp读取订单和订单明细数据d 测试(2)订单和订单…

SpringBoot中的starter:whywhatmake

1、为什么用starter 我们知道,springboot框架是为了简化spring框架开发推出的,那么,在之前的spring框架开发中,如果我们需要连接数据库,引入mybatis框架,需要怎么操作呢?我们需要去maven仓库找…

当 chatGPT 被职场 PUA ,笑麻了

大家最近是不是被 chatGPT 刷屏了?简单来说,chatGPT 是一个智能聊天引擎。 那 chatGPT 和小爱同学、 siri 有什么区别呢? 如果体验过的朋友,能感受到区别还是很大,chatGPT 的智能表现过于优秀,远远超过了这…

深入浅出DPDK KNI核心技术

一、KNI KNI全称:Kernel NIC Interface,内核网卡接口,允许用户态程序访问linux控制平面。 在DPDK报文处理中,有些报文需要发送到内核协议栈进行处理,如GTP-C控制报文 如果报文数量较少,可以使用内核提供…

Lua热更新

Lua热更新解决方案 文章目录Lua热更新解决方案1.AB包1.1 AB包概述1. 从0开始的Lua语法1.1 HelloWorld1.2 数据类型1.3 字符串1.4 运算符1.5 条件语句1.6 循环语句1.7 函数1.8 数组1.9 迭代器1.10 字典,类,对象1.11 多脚本执行1.12 特殊语法1.13 协程1.14…

hive时间和字符串互转,时间函数

hive里经常需要将字符串转化为date或timestamp 或者转化为日期格式的string 先说一个简单的 cast(xx as date/string/timestamp) 这个大多情况都可以用 1.to_date to_date只保留年月日,参数必须是string类型的yyyy-MM-dd HH:mm:ss或者date或timestamp类型,返回值是date类型,…

尚太科技开启招股:预计募资总额22亿元,业绩增长迅猛

12月19日,石家庄尚太科技股份有限公司(下称“尚太科技”,SZ:001301)开启招股,将在深圳证券交易所主板上市。本次冲刺上市,尚太科技的发行价格为33.88元/股,发行数量为6494.37万股,募…

MySQL Binlog温故知新

目录 一、什么是Binlog 二、Binlog文件记录模式 三、Binlog 日志内容 四、常用的binlog日志操作命令 五、binlog日志中间件 一、什么是Binlog Binlog (Binary log)是MySQL的二进制日志,以二进制的形式记录了对于数据库的变更&#xff0…

Tesseract-OCR 和cnocr/cnstd

Tesseract-OCR学习系列 Tesseract-OCR学习系列(四)API - 简书 参考文档:https://github.com/tesseract-ocr/tesseract/wiki/APIExample 这篇文章介绍了GetComponentImages等基础api的用法 Python 自动识别图片文字—保姆级OCR实战教程 Py…

使用界面配置静态路由(保姆级教程)

啰嗦几句 因为写的很详细,保姆级别的,所以看起来内容很多,但是东西就那一点,你自己配个2、3遍就会了。期末考试也不用担心这个实验了。 使用Cisco Packet Tracer这个软件。 原文件下载 补充:下载后使用Cisco Packet T…

有源电力滤波器——低压配电系统

安科瑞 华楠 一、谐波的危害 ● 使公用电网中的设备产生附加谐波损耗,降低电网、输电及用电设备的使用效率。 ● 在三相四线制系统中,由于零线流过大量的3n次谐波电流,造成零线过热。 ● 谐波会产生额外的热效应,引起用电设备…

GitLab创建新分支并同步其它分支的内容(IDEA)

拉取项目到本地 选择对应项目并复制clone地址 打开IDEA,选择File–》New–》Project from Version Control 在弹出的对话框中粘贴刚才复制的地址 完成后项目就被拉取到本地对应目录中了 创建新分支 这里以master分支为例,其它分支同理 首先在GitL…

Linux Red Hat 8.0 find命令练习

find:主要用来查找字符串 常用参数: -name 搜索文件名 -iname 搜索文件名时大小写不敏感 -type d 目录、 f 普通文件、 l 符号链接 -size 指定搜索文件大小 -perm 按执行权限来查找 -user 按…

在线考试网站

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 模块划分:老师模块、班级模块、学生模块、课程模块、试题模块、试卷模块、 组卷模块、考试模块、答题模块 …

什么是项目风险管理?要如何执行风险管理?

项目风险管理是项目管理中重要组成部分之一,其影响着项目是否能成功最终交付的关键。虽然项目经理都无法准确地预测未来项目结果,但可以应用一种精简的风险管理流程来预测项目管理中的不确定性,并将这些不确定因素的影响降到最低。因此如何执…

基于Python+Django+Vue+MYSQL的邯郸地标美食导游平台

项目介绍 我的家乡是邯郸市。邯郸市我国为数不多的3000年没有改变过名字城市。我的家乡就是邯郸。在我的家乡有非常多的旅游景点和美食。为了让更多的人了解到邯郸的旅游景点和好吃的美食信息,我通过pythonvueelementui开发了本次的邯郸家乡网红旅游景点美食导游平…