如何在Linux上部署Jenkins
小樊
48
2026-01-02 19:42:44
Linux 上部署 Jenkins 的完整步骤
一 环境准备
- 操作系统建议:CentOS 7+/Ubuntu 20.04+,推荐资源配置 2 核 4G+。
- 安装 Java 11(Jenkins 2.357+ 要求 Java 11,推荐 OpenJDK 11)。
- 确保服务器可访问网络(或准备好离线安装包),并规划访问端口(默认 8080)。
二 安装 Java
- CentOS
- 安装 OpenJDK 11:sudo yum install -y java-11-openjdk java-11-openjdk-devel
- 验证:java -version(应显示 11.0.XX)
- Ubuntu
- 安装 OpenJDK 11:sudo apt update && sudo apt install -y openjdk-11-jdk openjdk-11-jre
- 验证:java -version(应显示 11.0.XX)
三 安装 Jenkins
- 方式一 RPM(CentOS)
- 添加官方源并导入 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
- 安装与启动:
- sudo yum install -y jenkins
- sudo systemctl start jenkins && sudo systemctl enable jenkins
- sudo systemctl status jenkins
- 方式二 DEB(Ubuntu)
- 添加官方 GPG 与源并安装:
- wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | gpg --dearmor -o /usr/share/keyrings/jenkins-keyring.gpg
- echo “deb [signed-by=/usr/share/keyrings/jenkins-keyring.gpg] https://pkg.jenkins.io/debian-stable binary/” | 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
- sudo systemctl status jenkins
- 方式三 WAR 包(通用,适合离线或容器化)
- 下载稳定版 WAR:wget https://get.jenkins.io/war-stable/2.426.3/jenkins.war(示例版本)
- 启动:java -jar /opt/jenkins.war --httpPort=8080(可后台运行:nohup … &)
四 防火墙与端口
- 开放 8080 端口(示例)
- CentOS(firewalld):sudo firewall-cmd --add-port=8080/tcp --permanent && sudo firewall-cmd --reload && sudo firewall-cmd --list-ports
- Ubuntu(ufw):sudo ufw allow 8080/tcp && sudo ufw enable && sudo ufw status
- 如端口冲突,修改启动端口(示例):java -jar jenkins.war --httpPort=9090
五 初始化与基础配置
- 访问 http://服务器IP:8080,首次进入需要解锁
- 获取初始管理员密码:cat /var/lib/jenkins/secrets/initialAdminPassword
- 插件安装
- 推荐选择“安装推荐的插件”;网络慢可配置国内镜像源(见优化),或离线安装插件(见离线步骤)
- 创建管理员用户与 Jenkins URL,完成后进入控制台
- 常用优化
- 插件镜像源(示例为清华源):将 /var/lib/jenkins/hudson.model.UpdateCenter.xml 中的 URL 改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,重启生效
- 内存与编码(JVM 参数示例):JAVA_OPTS=“-Xms512m -Xmx1024m -Dfile.encoding=UTF-8 -Djava.awt.headless=true”
六 离线部署与常见问题
- 离线部署要点
- 准备:在联网环境下载 JDK 11+、jenkins.war、所需插件(可用 jenkins-plugin-manager 批量下载)
- 传输:将 jenkins.war、JDK、plugins/ 目录拷贝到目标服务器
- 安装 JDK:解压至 /usr/local,配置 JAVA_HOME 与 PATH
- 启动 WAR:java -jar /opt/jenkins.war --httpPort=8080
- 导入插件:将 plugins/ 目录拷贝到 /var/lib/jenkins/plugins,修正属主:chown -R jenkins:jenkins /var/lib/jenkins/plugins,重启
- 常见问题
- 端口冲突:更换 --httpPort;检查端口占用(如 netstat -tulpn | grep 8080)
- 找不到 JDK(RPM/DEB 方式):编辑 /etc/init.d/jenkins,在 candidates 中添加 /usr/local/jdk-11/bin/java,执行 systemctl daemon-reload 后重启
- 日志与排错:tail -f /var/log/jenkins.log 或 journalctl -u jenkins;WAR 方式启动时查看启动日志输出