在 CentOS 上优化 Jenkins,通常可以从系统层面、Jenkins 配置、构建性能、插件与安全性几个方向入手。下面给你一套比较实用的优化清单。
Jenkins 依赖 Java,内存不足会频繁 GC。
# 查看 Java 版本(推荐 JDK 11 或 17)
java -version
# 修改 Jenkins 启动参数
vi /etc/sysconfig/jenkins
示例(根据服务器内存调整):
JENKINS_JAVA_OPTIONS="-Xms2g -Xmx4g -XX:+UseG1GC"
重启:
systemctl restart jenkins
Jenkins 并发构建会占用大量文件句柄。
ulimit -n 65535
永久生效:
vi /etc/security/limits.conf
jenkins soft nofile 65535
jenkins hard nofile 65535
workspace 和 buildsdf -h
du -sh /var/lib/jenkins/*
vi /etc/sysconfig/jenkins
JENKINS_HOME=/data/jenkins
Job 配置中:
Manage Jenkins → Nodes → Configure
java -jar agent.jar -jnlpUrl ...
pipeline {
agent {
docker { image 'maven:3.8' }
}
stages {
stage('Build') {
steps {
sh 'mvn clean package'
}
}
}
}
✅ 优点:
~/.m2~/.npm~/.gradle挂载到 Agent 或 Volume。
stage('Test') {
parallel {
stage('Unit') { ... }
stage('Integration') { ... }
}
}
checkout scm
只在需要的地方执行。
Manage Jenkins → Plugins
rm -rf /var/lib/jenkins/workspace/*
| 项目 | 优化前 | 优化后 |
|---|---|---|
| 构建时间 | 10 min | 3–4 min |
| CPU 占用 | 高 | 平稳 |
| 磁盘 | 爆满 | 可控 |
| 稳定性 | 常挂 | 稳定 |
如果你愿意,可以告诉我:
我可以给你定制化的 Jenkins 优化方案。