一、调节jenkins从节点的内存和cpu
Jenkins是目前最主流的CI/CD工具,我们常用jenkins对接kubernetes实现DevOps。那配置的Jenkins Slave模板生成的jenkins slave pod是实际拉取代码,构建代码的从节点,如果jenkins slave pod用的是默认的配置,很可能会出现性能问题,如下图:
如果配置的cpu和内存限制太小很可能出现代码构建速度慢,构建时候内存不够:
如果出现上面问题可以适当调节CPU和内存限制,数值可调大些。
二、生产环境从多个维度对Jenkins进行优化?
1、插件数量不要安装太多,可以选择性安装需要的插件
2、jenkins的master节点不构建任务,通过标签的方式调用k8s api生成jenkins从节点,在从节点构建任务,任务构建完成从节点自动删除,节省资源
3、尽量使用私有服务器,如使用nexus、gitlab、harbor增加构建速度
4、取消jenkins的定时清理工作空间任务
一些项目在构建时往需要下载一些依赖库,但是 yarn install会等很长一段时间,经过测试,在不删除工作空间的情况下,构建时会优先使用本地缓存,构建速度会大幅度提升,但是jenkins有定时清理工作空间的功能,需要关掉它。
5、jenkins任务并发执行
jenkins并发工作流编排有利于提高执行效率 缩短构建时间。
1) 设置不同stage段并发执行
stage('a and b') { parallel { stage("a"){ steps { } stage("b"){ steps { } } } }
2) 设置同一个stage段并发执行
stage('start a') { steps { parallel( a:{ }, b:{ }, c:{ }, d:{ } } }