CentOS服务器离线安装部署Jenkins完整指南:从零开始搭建持续集成环境
引言
在当今快速迭代的软件开发环境中,持续集成与持续部署(CI/CD)已成为提升开发效率、保证代码质量的关键环节。Jenkins作为一款开源的自动化服务器,凭借其强大的插件生态和灵活的配置能力,在全球范围内拥有广泛的应用。然而,在实际生产环境中,很多服务器由于安全考虑无法连接外网,这就使得离线安装部署Jenkins成为一项必备技能。
本文将通过详细的步骤演示,手把手教你在CentOS服务器上完成Jenkins的离线安装、配置和插件管理,解决网络隔离环境下的部署难题。无论你是运维工程师还是开发人员,掌握这项技能都将为你的工作带来极大便利。
📌 本文亮点:
- 完整演示离线环境下的Jenkins部署流程
- 提供详细的版本兼容性指导
- 包含国内镜像配置,解决访问速度问题
- 多种启动方式详解,满足不同场景需求
- 插件离线安装方法,完善Jenkins功能
第一章:安装前环境准备
1.1 JDK环境配置
Jenkins运行依赖于Java环境,因此在安装Jenkins前必须确保服务器已安装合适版本的JDK。
版本兼容性说明:
- Jenkins 2.357及以上版本推荐使用JDK-11或JDK-17
- Jenkins 2.387及以上版本开始支持JDK-21
- 本文选择JDK-21 + Jenkins 2.479.2组合,确保最佳兼容性
# 检查当前系统是否已安装Java
java -version
# 如果未安装或版本不匹配,需安装JDK-21
# 下载JDK-21离线安装包(可从Oracle官网或OpenJDK获取)
# 上传至服务器并解压安装
tar -xzf jdk-21_linux-x64_bin.tar.gz -C /usr/local/
# 配置环境变量
echo 'export JAVA_HOME=/usr/local/jdk-21' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
# 验证安装
java -version
1.2 服务器工具准备
为了方便文件传输,建议安装lrzsz工具:
# 安装文件上传下载工具
yum install lrzsz -y
# 使用rz命令上传文件,sz命令下载文件
第二章:Jenkins安装与启动
2.1 获取Jenkins安装包
由于是离线环境,我们需要提前在可访问外网的机器上下载Jenkins war包。
下载步骤:
- 访问Jenkins官网下载页面

- 选择稳定版本(本文以2.479.2为例)

- 下载Generic Java package (.war)格式的安装包(jenkins.war)

- 通过rz命令或SCP等方式上传至服务器
#服务器安装文件上传下载指令 rz(上传) sz(下载)
yum install lrzsz -y
2.2 Jenkins服务启动
Jenkins提供多种启动方式,可根据实际需求选择:
前台启动(适合测试环境):
# 基本启动命令(httpPort 指定端口号)
# 特点:当前ssh窗口被锁定,可按 CTRL+C 打断程序运行,或直接关闭窗口,程序退出
java -jar jenkins.war --httpPort=18080
# 指定工作目录启动
# 特点:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行
java -jar jenkins.war --httpPort=18080 --webroot=/var/jenkins_workspace
后台启动(适合生产环境):
# 简单后台启动
# nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
# 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到 nohup.out 的文件中
nohup java -jar jenkins.war --httpPort=18080 &
# 后台启动并指定日志输出
# 下述方法会把日志文件输入到你指定的文件 jenkins.log 中,没有则会自动创建
# 2>&1 将标准错误重定向到标准输出
# & 在后台运行进程
nohup java -jar jenkins.war --httpPort=18080 > /var/log/jenkins.log 2>&1 &
# 使用系统服务方式启动(推荐生产环境使用)
cat > /etc/systemd/system/jenkins.service << EOF
[Unit]
Description=Jenkins Continuous Integration Server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/jdk-21/bin/java -jar /opt/jenkins/jenkins.war --httpPort=18080
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# 启用并启动Jenkins服务
systemctl daemon-reload
systemctl enable jenkins
systemctl start jenkins
systemctl status jenkins
2.3 防火墙配置
如果服务器启用了防火墙,需要开放对应端口:
# 开放18080端口
firewall-cmd --permanent --add-port=18080/tcp
firewall-cmd --reload
# 或者临时关闭防火墙(测试环境)
systemctl stop firewalld
2.4 初始访问与配置
1. 获取管理员密码:
Jenkins首次启动时会在控制台输出管理员密码,也可在以下文件中查找:
# 密码文件路径通常为
cat /root/.jenkins/secrets/initialAdminPassword
2. 访问Jenkins:
在浏览器中输入 http://服务器IP:18080,输入管理员密码解锁。
3. 自定义插件安装:
- 选择"选择插件来安装"
- 点击"无",跳过初始插件安装
- 后续通过离线方式安装必要插件
4. 创建管理员账户:
填写用户名、密码、邮箱等信息,创建专属管理员账户。
5. 实例配置:
保持默认URL配置,点击"保存并完成"。
第三章:镜像配置与优化
3.1 更新中心镜像配置
由于网络限制,我们需要将Jenkins默认的更新中心替换为国内镜像,以提升后续插件安装速度。
配置步骤:
- 找到Jenkins工作目录中的更新中心配置文件:
vi /root/.jenkins/hudson.model.UpdateCenter.xml

- 替换默认URL为国内镜像:
<?xml version='1.0' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<!-- 清华大学镜像 -->
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
<!-- 或使用其他国内镜像 -->
<!-- <url>https://mirrors.cloud.tencent.com/jenkins/updates/update-center.json</url> -->
</site>
</sites>

- 重启Jenkins使配置生效:
# 如果使用systemd服务管理
systemctl restart jenkins
# 如果使用nohup后台启动
# 查询 Jenkins 的进程号
ps -ef | grep jenkins
# 通过 kill 命令来关闭程序,彻底杀死进程号为 pid 的进程
kill -9 [进程ID]
# 重启
nohup java -jar jenkins.war --httpPort=18080 > /var/log/jenkins.log 2>&1 &
3.2 插件下载镜像配置
除了更新中心,插件下载也需要配置国内镜像以加速下载:
- 进入Jenkins管理界面 → Manage Jenkins → Manage Plugins → Advanced
- 在"Update Site"中填入上述国内镜像URL
- 勾选"Submit",保存配置
第四章:插件离线安装与管理
4.1 插件下载与准备
在可访问外网的环境中,从Jenkins插件官网下载所需插件:
以Locale和Chinese插件为例:
- 访问插件官网,搜索"Locale"


- 进入插件详情页,选择对应版本下载

- 同样方法下载"Localization: Chinese"汉化包
- 将下载的.hpi文件上传至服务器(继续往下看,有上传方法!)
4.2 插件安装步骤
1. 进入插件管理界面:
- 登录Jenkins → Manage Jenkins → Plugins


2. 高级设置:
- 点击"Advanced"选项卡
- 找到"Deploy Plugin"区域

3. 上传插件:
- 点击"Choose File",选择本地.hpi插件文件
- 点击"Deploy"开始安装

4. 验证安装:
- 在"已安装"(Installed plugins)选项卡中查看已安装的插件
- 确认插件状态为启用
5. 重启生效:
- 在浏览器中访问 http://服务器IP:18080/restart
- 点击"Yes"确认重启

- 等待重启完成后重新登录

**注意:**如果以上方法已经生效了,表明汉化插件已经安装完成,如果没有生效,不要着急,继续往下看。
4.3 常用必备插件推荐
在离线环境中,建议优先安装以下核心插件:
- Git Plugin:Git版本控制支持
- Pipeline:流水线功能支持
- Credentials Plugin:凭据管理
- SSH Plugin:SSH连接支持
- Email Extension Plugin:邮件通知扩展
- Workspace Cleanup Plugin:工作空间清理
第五章:生产环境优化建议
5.1 服务监控与维护
日志管理:
# 查看实时日志
tail -f /var/log/jenkins.log
# 日志轮转配置
cat > /etc/logrotate.d/jenkins << EOF
/var/log/jenkins.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
create 644 root root
}
EOF
备份策略:
# Jenkins数据备份脚本
#!/bin/bash
BACKUP_DIR="/backup/jenkins"
DATE=$(date +%Y%m%d_%H%M%S)
JENKINS_HOME="/root/.jenkins"
tar -czf ${BACKUP_DIR}/jenkins_backup_${DATE}.tar.gz ${JENKINS_HOME}
find ${BACKUP_DIR} -name "jenkins_backup_*.tar.gz" -mtime +7 -delete
5.2 性能优化配置
JVM参数优化:
# 在启动命令中添加JVM参数
java -Xms1024m -Xmx2048m -XX:MaxPermSize=512m -jar jenkins.war --httpPort=18080
连接数优化:
在Jenkins系统配置中调整执行器数量,根据服务器CPU核心数合理设置。
第六章:故障排查与常见问题
6.1 启动问题排查
端口占用问题:
# 检查端口占用情况
netstat -tunlp | grep 18080
# 如果端口被占用,可更换端口或终止占用进程
java -jar jenkins.war --httpPort=18081
权限问题:
# 确保Jenkins有对应目录的读写权限
chown -R jenkins:jenkins /root/.jenkins
6.2 插件兼容性问题
- 确保插件版本与Jenkins版本兼容
- 安装插件时注意依赖关系
- 出现冲突时可尝试逐个安装调试
6.3 汉化不完整处理
如果汉化后仍有部分界面为英文:
- 检查Locale和Localization: Chinese插件是否都已安装
- 在系统配置 → Locale中设置为zh_CN
- 清除浏览器缓存重新登录

结语
通过本文的详细讲解,相信你已经掌握了在CentOS服务器离线环境下部署Jenkins的完整流程。从环境准备、服务启动、镜像配置到插件管理,我们覆盖了生产环境中可能遇到的各个环节。
关键要点回顾:
- ✅ JDK版本兼容性是成功安装的基础
- ✅ 合理的启动方式保障服务稳定运行
- ✅ 国内镜像配置大幅提升插件管理效率
- ✅ 离线插件安装解决网络隔离难题
- ✅ 生产环境优化确保长期稳定服务
Jenkins的强大功能远不止于此,后续你可以根据项目需求配置流水线、集成代码仓库、设置自动化部署等。如果在实践过程中遇到任何问题,欢迎在评论区留言交流。
如果觉得本文对你有帮助,请不要忘记:
- 👍 点赞支持作者创作更多优质内容
- ⭐ 收藏方便后续查阅
- ➕ 关注获取更多技术干货分享
你的支持是我们持续创作的最大动力!
更多推荐
所有评论(0)