温馨提示×

如何优化centos jenkins

小樊
35
2026-09-27 11:27:14
栏目: 智能运维

在 CentOS 上优化 Jenkins,通常可以从系统层面、Jenkins 配置、构建性能、插件与安全性几个方向入手。下面给你一套比较实用的优化清单。


一、系统层面优化(CentOS)

1. 调整 Java 与内存

Jenkins 依赖 Java,内存不足会频繁 GC。

# 查看 Java 版本(推荐 JDK 11 或 17)
java -version

# 修改 Jenkins 启动参数
vi /etc/sysconfig/jenkins

示例(根据服务器内存调整):

JENKINS_JAVA_OPTIONS="-Xms2g -Xmx4g -XX:+UseG1GC"

重启:

systemctl restart jenkins

2. 增加文件描述符限制

Jenkins 并发构建会占用大量文件句柄。

ulimit -n 65535

永久生效:

vi /etc/security/limits.conf
jenkins soft nofile 65535
jenkins hard nofile 65535

3. 磁盘与 IO 优化

  • 使用 SSD
  • Jenkins 主目录不要放在系统盘
  • 定期清理 workspace 和 builds
df -h
du -sh /var/lib/jenkins/*

二、Jenkins 自身配置优化

1. 修改 Jenkins 主目录(可选)

vi /etc/sysconfig/jenkins
JENKINS_HOME=/data/jenkins

2. 限制构建历史

Job 配置中:

  • Discard old builds
  • 保留天数:7–30 天
  • 保留构建数:10–20

3. 并发与执行器(Executors)

  • Master:不建议开太多(2–4)
  • 使用 Agent / Node 分散压力
Manage Jenkins → Nodes → Configure

三、使用 Agent 分散负载(强烈推荐)

1. 添加 Linux Agent

  • SSH / JNLP
  • 专用构建机
  • 不同语言分开(Java / Node / Python)
java -jar agent.jar -jnlpUrl ...

2. Docker Agent(最推荐)

pipeline {
  agent {
    docker { image 'maven:3.8' }
  }
  stages {
    stage('Build') {
      steps {
        sh 'mvn clean package'
      }
    }
  }
}

✅ 优点:

  • 环境隔离
  • 不污染主机
  • 并发更强

四、构建性能优化

1. 缓存依赖

  • Maven:~/.m2
  • NPM:~/.npm
  • Gradle:~/.gradle

挂载到 Agent 或 Volume。


2. 并行构建

stage('Test') {
  parallel {
    stage('Unit') { ... }
    stage('Integration') { ... }
  }
}

3. 避免重复 Checkout

checkout scm

只在需要的地方执行。


五、插件与安全优化

1. 精简插件

  • 删除不用的插件
  • 定期更新
Manage Jenkins → Plugins

2. 安全加固

  • 开启 Role-Based Strategy
  • 禁用匿名访问
  • 使用 HTTPS(Nginx 反代)

六、监控与维护

1. 监控

  • Jenkins Monitoring Plugin
  • Prometheus + Grafana

2. 定期清理

rm -rf /var/lib/jenkins/workspace/*

七、典型优化前后对比

项目 优化前 优化后
构建时间 10 min 3–4 min
CPU 占用 高 平稳
磁盘 爆满 可控
稳定性 常挂 稳定

如果你愿意,可以告诉我:

  • CentOS 版本
  • Jenkins 安装方式(rpm / docker)
  • 构建类型(Java / 前端 / 混合)

我可以给你定制化的 Jenkins 优化方案。

0 踩