jenkins结合k8s构建流水线如何提升运行性能和构建效率
一、调节jenkins从节点的内存和cpuJenkins是目前最主流的CI/CD工具,我们常用jenkins对接kubernetes实现DevOps。那配置的Jenkins Slave模板...
一、调节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:{
}
}
}
微信公众号
作者微信:luckylucky421302
精彩文章推荐
基于Jenkins+git+harbor+Helm+k8s+Istio构建DevOps流水线
基于k8s+Prometheus+Alertmanager+Grafana构建企业级监控告警系统
k8s Ingress Controller更新策略:灰度发布
k8s之nginx-Ingress-controller如何做高可用应对大并发请求?
点亮,服务器10年不宕机
点击阅读原文 | 了解更多
更多推荐
所有评论(0)