必须安装JDK 8(java-1.8.0-openjdk-devel),因Jenkins 2.3xx及更早版不兼容OpenJDK 11/17;验证用java -version,确保输出1.8且sudo -u jenkins java -version可用。

CentOS 8 / Rocky Linux 8 上装 Jenkins,java -version 必须输出 1.8(即 JDK 8),否则 Jenkins 启动直接失败或 Web 页面打不开 —— 这是绝大多数人卡住的第一步。
确认并安装 JDK 8,不是 OpenJDK 11 或 17
CentOS 8 默认 yum install java 装的是 OpenJDK 11,Jenkins 2.3xx 及更早稳定版不兼容。必须用 Oracle JDK 8 或 Red Hat 提供的 java-1.8.0-openjdk(注意版本号带 1.8.0)。
- 检查当前 Java:
java -version和which java,如果显示openjdk version "11"或路径在/usr/lib/jvm/java-11-openjdk,就得换 - 推荐命令安装(兼容性最稳):
yum install java-1.8.0-openjdk-devel.x86_64 -y - 验证 JAVA_HOME 是否正确:
echo $JAVA_HOME应为空;但 Jenkins 启动时依赖/usr/lib/jvm/jre-1.8.0这个路径,无需手动设环境变量(系统级软链已存在) - 如果用了手动解压的 Oracle JDK,请确保
/etc/profile里写了JAVA_HOME=/usr/java/jdk1.8.0_XXX,且执行了source /etc/profile;否则jenkins用户启动时找不到 Java
用 yum 安装 Jenkins,别用 war 包直启
在 CentOS/Rocky 8 上,java -jar jenkins.war 启动方式会绕过系统服务管理、日志轮转和用户权限控制,导致后续无法自动拉起、插件安装失败、/var/lib/jenkins 权限混乱 —— 尤其当 Jenkins 需要调用 git 或 mvn 时。
- 添加官方源:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo - 导入密钥:
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key - 安装:
sudo dnf install jenkins -y(Rocky 8 用dnf,CentOS 8 两者都可) - 关键一步:确认 Jenkins 用户能访问 Java:
sudo -u jenkins java -version,若报command not found,说明 JDK 没装对或路径未被该用户识别
启动前必须改的两个配置项
/etc/sysconfig/jenkins 是 Jenkins 的核心配置文件,不改它,8080 端口冲突、JENKINS_HOME 权限错、甚至 Jenkins 根本不写日志。
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
立即学习“Java免费学习笔记(深入)”;
- 修改端口(防冲突):
JENKINS_PORT="8081"(尤其当你同时跑 Tomcat 或其他 Java 服务时) - 确认工作目录:
JENKINS_HOME="/var/lib/jenkins"(不要改成/root/jenkins或/home/xxx/jenkins,SELinux 和 systemd 会拒绝访问) - 检查用户:
JENKINS_USER="jenkins"(不要改成root,安全风险高,且部分插件如 Docker Pipeline 会拒绝 root 上下文) - 改完必须 reload 配置:
sudo systemctl daemon-reload,否则systemctl start jenkins仍读旧值
首次访问 Jenkins 前,防火墙和初始密码怎么处理
浏览器打不开 http://ip:8081,90% 是防火墙拦了,不是 Jenkins 没起来。
- 放行端口(非禁用防火墙):
sudo firewall-cmd --permanent --add-port=8081/tcp,然后sudo firewall-cmd --reload - 初始密码位置固定:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword,复制粘贴即可;别用tail -f监控,这个文件只生成一次 - 如果页面空白或 503,先查日志:
sudo journalctl -u jenkins -f,重点看是否有Failed to load class org.slf4j.impl.StaticLoggerBinder(JDK 版本错)或Permission denied: /var/lib/jenkins(目录属主不对) - 插件安装阶段卡住?临时关掉 SELinux 测试:
sudo setenforce 0;确认可用后再配策略,而非长期关闭
最常被忽略的一点:Jenkins 启动后默认以 jenkins 用户运行,但它没有 git、mvn、java 的 PATH 权限 —— 所有构建任务里要用的命令,必须在全局工具配置(Global Tool Configuration)中显式指定绝对路径,比如 /usr/bin/git、/opt/maven/bin/mvn,不能只写 git。

















