Jenkins Linux版如何配置
小樊
32
2026-01-04 18:41:36
Linux 上配置 Jenkins 的完整步骤
一 准备环境
- 安装 Java 11 或更高版本(Jenkins 2.357+ 要求 Java 11+)。以 OpenJDK 11 为例:
- Debian/Ubuntu:sudo apt update && sudo apt install -y openjdk-11-jdk
- RHEL/CentOS:sudo yum install -y java-11-openjdk-devel
- 验证:java -version 应显示 11.x
- 创建专用用户(推荐):sudo useradd -m -s /bin/bash jenkins && sudo passwd jenkins
- 创建目录并赋权:sudo mkdir -p /var/lib/jenkins /var/log/jenkins && sudo chown -R jenkins:jenkins /var/lib/jenkins /var/log/jenkins
- 开放防火墙端口(示例为 8080):
- firewalld:sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload
- ufw:sudo ufw allow 8080/tcp
- 可选:准备离线安装包(war、JDK、插件),便于内网环境部署。
二 安装方式
- 方式 A 使用系统包管理器(推荐)
- RHEL/CentOS:
- 导入仓库与密钥: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 yum install -y jenkins
- 启动:sudo systemctl start jenkins && sudo systemctl enable jenkins
- Debian/Ubuntu:
- 导入密钥:curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
- 添加源:echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
- 安装:sudo apt update && sudo apt install -y jenkins
- 启动:sudo systemctl start jenkins && sudo systemctl enable jenkins
- 方式 B 使用 WAR 包(通用)
- 下载:wget https://get.jenkins.io/war-stable/latest/jenkins.war -O /opt/jenkins.war
- 启动:sudo -u jenkins java -jar /opt/jenkins.war --httpPort=8080 --webroot=/var/lib/jenkins/war
- 后台运行:nohup sudo -u jenkins java -jar /opt/jenkins.war --httpPort=8080 > /var/log/jenkins.log 2>&1 &
- 访问测试:浏览器打开 http://<服务器IP>:8080。
三 初始化与安全配置
- 解锁:查看初始密码 cat /var/lib/jenkins/secrets/initialAdminPassword,粘贴到 Web 向导
- 插件安装:
- 在线:选择 Install suggested plugins
- 离线:将插件目录拷贝至 /var/lib/jenkins/plugins,并 chown -R jenkins:jenkins /var/lib/jenkins/plugins,然后重启
- 创建管理员账户与实例 URL:保持默认或按需修改
- 安全建议:
- 使用反向代理(Nginx/Apache)并启用 HTTPS
- 最小权限原则,配合 角色/权限 插件与 外部认证(如 LDAP/SSO)
- 凭据使用 Credentials Binding 安全存储
- 定期更新 Jenkins 与插件。
四 常用配置与排错
- 修改端口与上下文路径
- WAR:java -jar jenkins.war --httpPort=9090 --prefix=/jenkins
- RPM/DEB:编辑 /etc/sysconfig/jenkins(JENKINS_PORT、JENKINS_ARGS)
- 指定 JDK
- 系统服务:编辑 /etc/init.d/jenkins,在 candidates 中添加你的 $JAVA_HOME/bin/java
- systemd 服务:在 Unit 中设置 Environment=“JAVA_HOME=/usr/local/jdk-11”
- 工作目录与日志
- 默认 JENKINS_HOME=/var/lib/jenkins;日志 /var/log/jenkins/jenkins.log
- 自定义:启动参数 --webroot=… 或在 systemd 中设置 Environment=“JENKINS_HOME=/data/jenkins”
- 插件镜像与更新
- 更新中心镜像:编辑 /var/lib/jenkins/hudson.model.UpdateCenter.xml,使用国内镜像加速
- 权限问题
- 构建/部署目录需对 jenkins 用户可写:chown -R jenkins:jenkins /path
- 访问受限时检查目录属主与 SELinux/AppArmor 策略
- 常用命令
- 查看状态:systemctl status jenkins
- 实时日志:journalctl -u jenkins -f
- 重启:systemctl restart jenkins
- 常见问题
- 端口冲突:更换 –httpPort
- 插件依赖缺失:检查插件目录 META-INF/MANIFEST.MF 补全依赖
- 无法访问:核对防火墙/云安全组、监听端口与 SELinux。