ITPub博客

首页 > 数据库 > 数据库开发技术 > jenkins结合k8s构建流水线如何提升运行性能和构建效率

jenkins结合k8s构建流水线如何提升运行性能和构建效率

原创 数据库开发技术 作者:DevOps和k8s全栈技术 时间:2021-11-25 10:04:00 0 删除 编辑



一、调节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



精彩文章推荐

K8s 常见问题

k8s超详细解读

K8s 超详细总结!

K8S 常见面试题总结

k8s控制器Deployment详细介绍:资源清单编写技巧

k8s安装隐患如何优化?从以下维度分享

使用k3s部署轻量Kubernetes集群快速教程

基于Jenkins和k8s构建企业级DevOps容器云平台

k8s原生的CI/CD工具tekton

K8S二次开发-自定义CRD资源

基于Jenkins+git+harbor+Helm+k8s+Istio构建DevOps流水线

基于k8s+Prometheus+Alertmanager+Grafana构建企业级监控告警系统

k8s开启临时容器ephemeral进行debug调试

k8s Ingress Controller更新策略:灰度发布

k8s之nginx-Ingress-controller如何做高可用应对大并发请求?


           

                   点亮,服务器10年不宕机

 点击阅读原文 | 了解更多

原文作者:DevOps和k8s全栈技术;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
云计算架构师、阿里云开发者社区专家博主、腾讯云架构师北京同盟成员、Linux基金会开源软件学园2023、2024年度优秀讲师,在中国计算机学会(CCF)任职人工智能与模式识别委员和计算机应用委员、中国科普作家协会会员,清华大学出版社出版的畅销书《Kubernetes从入门到DevOps企业应用实战》作者。

注册时间:2017-10-15

  • 博文量
    127
  • 访问量
    61689