必须先装JDK 11+,因Jenkins启动严格依赖JAVA_HOME指向含javac的完整JDK,而非仅JRE;官方APT/YUM源安装更稳,推荐安装后选“推荐插件”并重启服务。

必须先装 JDK 11+,否则 jenkins 服务根本起不来——这是最常被跳过的硬性前提,不是可选项。
为什么 java -version 显示正常却仍启动失败?
Jenkins 启动时不仅检查 java 命令可用性,还严格依赖 JAVA_HOME 指向完整 JDK(含 javac 和 lib),而很多系统自带的 JRE 或精简版 OpenJDK 不满足要求。
- 执行
sudo update-alternatives --config java确认默认 Java 是 JDK 而非 JRE - 检查
$JAVA_HOME/bin/javac是否存在,不存在就换安装源:Ubuntu/Debian 推荐openjdk-17-jdk,CentOS/RHEL 用java-17-openjdk-devel -
systemctl status jenkins若报Failed to start Jenkins Continuous Integration Server,立刻查journalctl -u jenkins -n 50 -f,90% 是JAVA_HOME指向错误或权限问题
用官方 APT/YUM 源安装比直接跑 WAR 包更稳
WAR 包方式缺乏 systemd 集成、自动更新和日志轮转,生产环境不建议。官方源能确保二进制包签名可信、路径规范、配置文件预置合理。
- Ubuntu/Debian:导入密钥后添加
/etc/apt/sources.list.d/jenkins.list,源地址必须是https://pkg.jenkins.io/debian-stable(不是debian) - CentOS/RHEL:用
rpm --import https://pkg.jenkins.io/redhat/jenkins.io-2023.key,repo 文件中 baseurl 必须带redhat-stable - 安装后不要手动改
/usr/lib/systemd/system/jenkins.service中的User,保持默认jennins用户,否则插件目录权限会乱
初始化时选“推荐安装”才能开 Pipeline 功能
“自定义安装”容易漏掉关键插件,导致新建项目时找不到 Pipeline 类型,或执行 pipeline { ... } 报错 org.jenkinsci.plugins.workflow.cps.CpsScript not found。
- 初始密码在
/var/lib/jenkins/secrets/initialAdminPassword,用sudo cat查,别用普通用户去读 - “推荐安装”包含
Pipeline、Git、Credentials Binding、SCM API这四个核心,缺一不可 - 装完插件后务必重启服务:
sudo systemctl restart jenkins,否则部分插件类加载不全
创建第一个声明式流水线前必须确认三件事
很多人卡在“新建任务→选择 Pipeline 类型→保存→构建失败”,其实问题不出在 Jenkinsfile,而在前置链路断了。
- 确保
git命令已安装且在PATH中(which git要有输出),否则checkout scm直接超时 - 若从 Git 加载
Jenkinsfile,仓库 URL 必须填完整 HTTPS 或 SSH 地址,且凭据已提前配置在Credentials → System → Global credentials - 首次运行前先在项目根目录放一个最简
Jenkinsfile:pipeline { agent any stages { stage('Test') { steps { sh 'echo "OK"' } } } },避免语法错误掩盖环境问题
最容易被忽略的是 JENKINS_HOME 所在磁盘空间和 inode 数量——/var/lib/jenkins 下插件缓存、构建历史、workspace 全堆一起,小容量云盘撑不过两周;另外所有插件安装后默认启用,但实际只用到 20%,定期清理 /var/lib/jenkins/plugins/*.jpi.disabled 和旧版本备份能省下大量空间。











