Jenkins 的优化可以从 性能、稳定性、可维护性、安全性 四个方向入手。下面按 最常见、最容易落地 的方式给你一份系统化的 Jenkins 优化指南。
❌ 不要所有任务都在 Master 上跑
✅ 把构建任务分发到 Agent(节点)
做法
Restrict where this project can be run✅ 效果:
Master CPU / 内存压力大幅下降
默认 Jenkins 会保存 无限历史,磁盘和页面都会变慢。
建议配置
系统管理 → 系统配置 → 构建记录保留策略丢弃旧的构建
保持构建天数:7
保持构建个数:20
Freestyle 缺点:
✅ Pipeline 优势:
推荐:
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'make'
}
}
}
}
插件越多:
✅ 做法:
适用于 大型 Jenkins
示例(16G 内存机器):
-Xms4g
-Xmx8g
-XX:+UseG1GC
位置:
jenkins.xml(Windows)/etc/default/jenkins(Linux)~/.m2/repositorynode_modulesdocker layer cache✅ 使用共享目录或 Volume
Pipeline 示例:
parallel(
unitTest: { sh 'npm test' },
lint: { sh 'npm run lint' }
)
Poll SCM 改为 Webhook❌ 不要把 jar / apk / docker image 存 Jenkins
✅ 存到:
workspace可安装:
pipeline {
agent {
docker { image 'maven:3.8' }
}
}
✅ 避免环境污染
✅ Agent 可随时销毁
防止僵尸 Job:
options {
timeout(time: 30, unit: 'MINUTES')
}
JENKINS_HOME| 场景 | 优化方案 |
|---|---|
| Jenkins 卡顿 | Agent + 清理历史 |
| 磁盘爆炸 | 限制构建历史 |
| 启动慢 | 减少插件 |
| 构建慢 | Pipeline + 缓存 |
| 不稳定 | Docker Agent |
1️⃣ 拆 Master / Agent
2️⃣ 限制构建历史
3️⃣ 删除无用插件
4️⃣ 使用 Pipeline
5️⃣ 缓存 + Webhook
6️⃣ JVM 参数
如果你愿意,可以告诉我:
我可以 直接给你一套定制优化方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。