温馨提示×

centos jenkins安装失败怎么办

小樊
36
2025-11-16 03:26:59
栏目: 智能运维

CentOS 上安装或启动 Jenkins 失败,可按下列顺序排查与修复


一 快速自检清单

  • 确认 Java 版本:Jenkins 2.357+ 要求 Java 11 或更高。执行:java -version;如版本过低,安装并切换到 java-11-openjdk(或更高)。
  • 查看服务状态与日志:systemctl status jenkins -ljournalctl -xeu jenkinstail -n100 /var/log/jenkins/jenkins.log,定位具体报错。
  • 检查端口占用:默认 8080,执行:ss -tulpen | grep 8080netstat -tuln | grep 8080;若被占用,修改端口或释放占用进程。
  • 防火墙放行:
    • firewalld:firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --reload
    • 云服务器还需在 安全组 放行对应端口。
  • 确认仓库与安装源:导入 Jenkins GPG 公钥,使用官方 redhat-stable 源安装。
  • 若修改了服务文件或启动脚本,执行:systemctl daemon-reload 后再启动。

二 常见故障与修复

  • 安装阶段 GPG 校验失败
    现象:GPG CHECK FAILED
    处理:

    • 临时:yum install jenkins --nogpgcheck
    • 或修正 GPG:vim /etc/yum.confgpgcheck=0 → 执行 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial → 再把 gpgcheck 改回 1
  • 启动失败且提示 Java 版本过低或找不到 Java
    现象:invalid java 1.8Unable to access jarfile ...systemctl status jenkins 失败。
    处理:

    • 安装 Java 11+yum install -y java-11-openjdk(或更高)。
    • 设置 JAVA_HOME 并指向正确 JDK:
      • systemd 服务:编辑 /usr/lib/systemd/system/jenkins.service,在 [Service] 加入
        Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-<实际版本>/"
      • 兼容脚本:检查 /etc/init.d/jenkins 的 Java 候选路径是否包含 /usr/lib/jvm/java-11-openjdk
    • 使配置生效:systemctl daemon-reload && systemctl restart jenkins
  • 端口冲突(默认 8080 被占用)
    现象:启动失败或端口被占用。
    处理:

    • 修改端口:vim /etc/sysconfig/jenkins,将 JENKINS_PORT="8080" 改为未占用端口(如 8081/8888)。
    • 重启:systemctl daemon-reload && systemctl restart jenkins
    • 放行新端口(firewalld):firewall-cmd --permanent --add-port=新端口/tcp && firewall-cmd --reload
  • 安装 RPM 时脚本报错 No such file or directory
    现象:stat: cannot stat ‘/var/cache/jenkins’: No such file or directory
    处理:通常因残留的 /etc/sysconfig/jenkins 配置导致,执行:
    rm -f /etc/sysconfig/jenkins 后重新 rpm -ivh jenkins-*.rpm 安装。

  • 插件下载或初始化卡住
    现象:页面长时间 “Please wait while Jenkins is getting ready to work…” 或插件安装失败。
    处理:

    • 更换更新站点:进入 系统管理 → 管理插件 → 高级,将 “升级站点” 改为国内镜像,例如:
      https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
    • 或手动编辑:/var/lib/jenkins/hudson.model.UpdateCenter.xml,将 URL 改为可用镜像后重启。
    • 若版本过旧导致插件不兼容,先升级 Jenkins 再装插件。

三 一键修复脚本示例

#!/usr/bin/env bash
set -e

# 1) 安装 Java 11
sudo yum install -y java-11-openjdk

# 2) 导入 Jenkins 源与 GPG
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

# 3) 安装 Jenkins
sudo yum install -y jenkins

# 4) 修改端口为 8081(示例)
sudo sed -i 's/^JENKINS_PORT=.*/JENKINS_PORT="8081"/' /etc/sysconfig/jenkins

# 5) 设置 JAVA_HOME(按实际路径调整)
echo 'Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-$(rpm -q --qf "%{VERSION}.%{RELEASE}" java-11-openjdk)/"' | \
  sudo tee /usr/lib/systemd/system/jenkins.service.d/java-home.conf

# 6) 防火墙放行
sudo firewall-cmd --permanent --add-port=8081/tcp
sudo firewall-cmd --reload

# 7) 重载并启动
sudo systemctl daemon-reload
sudo systemctl enable --now jenkins

echo "Jenkins 已启动,访问:http://服务器IP:8081"
echo "初始管理员密码:"
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

说明:请将 JAVA_HOME 路径替换为 java-11-openjdk 在你的系统中的实际路径(可用 readlink -f $(which java) 辅助定位)。


四 仍未解决请提供以下关键信息

  • 系统版本:cat /etc/centos-release
  • Java 版本:java -versionrpm -qa | grep java
  • 服务状态与日志:systemctl status jenkins -ljournalctl -xeu jenkins -n100tail -n100 /var/log/jenkins/jenkins.log
  • 端口占用:ss -tulpen | grep 8080
  • 你修改过的配置片段(如 /etc/sysconfig/jenkins/usr/lib/systemd/system/jenkins.service

提供以上信息可快速定位剩余问题。

0