Jenkins 在 CentOS 上报错的原因有很多,常见的通常不是 Jenkins 本身“坏”了,而是环境或配置问题。下面我按「出现频率从高到低」给你梳理常见原因 + 对应现象 + 解决办法。
Jenkins 必须依赖 Java,CentOS 默认可能没装。
报错示例
Failed to start Jenkins: java not found
解决
java -version
如果没有:
yum install -y java-11-openjdk
# 或
yum install -y java-17-openjdk
Jenkins 2.4xx 推荐 Java 11 / 17
设置默认 Java:
alternatives --config java
默认端口是 8080
报错
Address already in use: 8080
解决
netstat -tunlp | grep 8080
修改端口:
vim /etc/sysconfig/jenkins
JENKINS_PORT="9090"
重启:
systemctl restart jenkins
CentOS 默认开启 SELinux
现象
解决(临时)
setenforce 0
永久(不推荐生产随便关)
vim /etc/selinux/config
SELINUX=disabled
firewall-cmd --list-ports
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
Jenkins 默认用 jenkins 用户运行
报错
Permission denied
解决
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/log/jenkins
df -h
free -m
Jenkins 至少需要 512MB~1GB
CentOS 6 / 7 官方源已下线
解决
wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
最有用的一条命令:
systemctl status jenkins -l
journalctl -u jenkins -xe
或者:
cat /var/log/jenkins/jenkins.log
如果你愿意,可以把具体报错内容贴出来(哪怕是几行),我可以精准定位,比如:
你现在是 启动报错、构建报错,还是访问不了?