在 Debian 上运行的 Jenkins 如果构建慢、响应慢,可以从系统层面、Jenkins 配置、构建方式、插件与架构几个方向来提速。下面按“见效快 → 根本优化”的顺序说明。
Jenkins 本身 + 构建进程很吃资源。
free -h
nproc
建议:
Jenkins 大量读写:
JENKINS_HOME机械硬盘 → SSD 通常提升 30%~50%
编辑:
/etc/default/jenkins
或 systemd:
systemctl edit jenkins
示例:
JAVA_OPTS="-Xms2g -Xmx4g -XX:+UseG1GC"
重启:
systemctl restart jenkins
插件越多越慢。
Manage Jenkins → Plugins → Installed
保留:
删除:
避免磁盘爆满 + 页面加载慢。
Job 配置中:
Discard old builds
Days to keep: 7
Max # of builds: 20
避免同一时间大量构建。
Throttle Concurrent Builds
不要让 Master 干构建活
推荐架构:
Jenkins Master (Debian)
├─ Agent A (Docker)
├─ Agent B (物理机)
Agent 可以是:
避免环境初始化耗时。
示例:
pipeline {
agent { docker 'maven:3.9' }
stages {
stage('Build') {
steps {
sh 'mvn package'
}
}
}
}
不同语言:
mvn -o package
挂载本地仓库
npm ci
挂载 node_modules
pip install -r req.txt --cache-dir ~/.pip
stage('Test') {
parallel {
stage('Unit') { ... }
stage('Integration') { ... }
}
}
java -version
建议:
避免 NFS 做 JENKINS_HOME
swapoff -a
| 方案 | 说明 |
|---|---|
| Jenkins on K8s | 自动伸缩 Agent |
| 分布式缓存 | Nexus / Artifactory |
| 增量构建 | 只构建变更模块 |
| Webhook 触发 | 避免轮询 SCM |
如果你愿意,可以告诉我:
我可以给你针对性的 Jenkinsfile 或 Debian 配置示例。