以下是在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版本不兼容。