
Jenkins是目前最主流的CI/CD工具,我们常用jenkins对接kubernetes实现DevOps。那配置的Jenkins Slave模板生成的jenkins slave pod是实际拉取代码,构建代码的从节点,如果jenkins slave pod用的是默认的配置,很可能会出现性能问题,如下图:

如果配置的cpu和内存限制太小很可能出现代码构建速度慢,构建时候内存不够:
如果出现上面问题可以适当调节CPU和内存限制,数值可调大些。
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:{
}
}
}

作者微信:luckylucky421302

精彩文章推荐
基于Jenkins+git+harbor+Helm+k8s+Istio构建DevOps流水线
基于k8s+Prometheus+Alertmanager+Grafana构建企业级监控告警系统
k8s Ingress Controller更新策略:灰度发布
k8s之nginx-Ingress-controller如何做高可用应对大并发请求?

点亮,服务器10年不宕机
点击阅读原文 | 了解更多
原文作者:DevOps和k8s全栈技术;如有侵权,请联系管理员删除。