以下是在Linux上稳定运行Jenkins的关键步骤和配置建议:
安装Java环境
确保安装JDK 8+(推荐JDK 11),配置JAVA_HOME环境变量并验证:
sudo apt install openjdk-11-jdk # Ubuntu/Debian sudo yum install java-11-openjdk-devel # CentOS/RHEL java -version # 检查版本 安装Jenkins
# Ubuntu/Debian wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt update && sudo apt install jenkins # CentOS/RHEL sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins-ci.org/redhat-stable/jenkins-ci.org.key sudo yum install jenkins 配置Systemd服务
创建/etc/systemd/system/jenkins.service文件,内容示例:
[Unit] Description=Jenkins Service After=network.target [Service] Type=simple User=jenkins # 创建专用用户(如未创建需先执行 `sudo useradd -r -m jenkins`) Group=jenkins Environment="JENKINS_HOME=/var/lib/jenkins" # 数据目录 Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk" # JDK路径 ExecStart=/usr/bin/java -jar /usr/share/jenkins/jenkins.war --httpPort=8080 --ajp13Port=-1 Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target 启用并启动服务:
sudo systemctl daemon-reload sudo systemctl enable --now jenkins 目录权限设置
确保Jenkins用户对数据目录(如/var/lib/jenkins)有读写权限:
sudo chown -R jenkins:jenkins /var/lib/jenkins sudo chmod -R 755 /var/lib/jenkins 端口与访问控制
/etc/systemd/system/jenkins.service中ExecStart参数,添加--httpPort=9090,重启服务。内存与性能调优
在JENKINS_OPTS中设置JVM参数,避免内存不足:
Environment="JAVA_OPTS=-Djava.awt.headless=true -Xms512m -Xmx2048m" # 根据服务器内存调整 插件与安全配置
日志与监控
sudo journalctl -u jenkins -f。/var/lib/jenkins),建议使用rsync或云存储。高可用与负载均衡(可选)
故障恢复
systemctl status jenkins查看日志,常见错误包括端口冲突、权限不足或Java版本不兼容。