Jenkins 在 Linux 服务器的安装、配置与最佳实践
一、前言
Jenkins是一款免费开源的自动化工具,能帮我们自动完成代码构建、测试、部署等流程,广泛用于软件开发和测试工作。本文以CentOS/RHEL系统为例,用通俗的语言和 step-by-step 操作,带大家从零完成Jenkins安装,全程避开专业术语陷阱,新手也能轻松上手!
二、准备工作
- 一台Linux服务器(云服务器或本地虚拟机均可,系统版本建议CentOS 7/8、RHEL 7/8);
- 服务器已连接网络(用于下载安装包,无外网可参考后续离线方案);
- 电脑安装Xshell(或Putty、SecureCRT等SSH工具,本文以Xshell为例);
- 具备服务器的用户名和密码(需有sudo权限,能执行管理员命令)。
三、第一步:连接Linux服务器
3.1 用Xshell连接服务器(最常用方式)
- 打开Xshell软件,点击左上角「文件」→「新建」(或直接点工具栏“新建”图标);
- 在弹出的“新建会话属性”窗口中,按以下要求填写:
- 名称:随便起个好记的名字(比如“我的Jenkins服务器”,不影响使用);
- 协议:默认选择「SSH」(不用改,远程连接Linux的标准协议);
- 主机:输入你的Linux服务器IP地址(比如192.168.1.100,由服务器管理员提供);
- 端口号:默认填22(如果服务器管理员修改过SSH端口,就填修改后的端口);
- 填写完成后点击「确定」,会在左侧会话列表看到新建的连接;
- 双击该连接,弹出“用户身份验证”窗口,输入服务器的用户名(比如root、admin)和密码,点击「确定」;
- 若出现“是否接受主机密钥”提示,点击「接受并保存」,稍等几秒就会连接成功,看到类似“Welcome to Alibaba Cloud Elastic Compute Service”的欢迎信息,说明已经登录到服务器了。
3.2 查看服务器基本信息(可选,了解即可)
- 查看服务器名称:在终端输入命令
hostname(输入后按回车),会显示服务器的名称(比如ecs-xxx); - 查看服务器IP地址:输入命令
ip addr(按回车),找到包含“inet”的一行,后面的IP就是服务器地址(比如inet 192.168.1.100/24,IP就是192.168.1.100),后续访问Jenkins会用到。
小提示
如果连接失败,大概率是这3个原因:
- 服务器IP地址、端口号填错了;
- 用户名或密码输入错误(注意密码区分大小写,输入时不会显示,正常输入后回车即可);
- 服务器防火墙禁止了22端口(联系管理员开放即可)。
四、第二步:安装Jenkins(核心步骤,按顺序执行)
4.1 提前说明
以下所有命令,都需要在Xshell的终端窗口中输入,输入完一条按回车执行,等待执行完成后再输入下一条。命令中的 sudo 表示“以管理员身份执行”,输入后可能会提示输入服务器密码,输入正确密码即可(输入时不显示字符,正常输入回车就行)。
4.2 步骤1:添加Jenkins的软件仓库(告诉系统从哪下载Jenkins)
输入以下命令,按回车:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
- 作用:从Jenkins官方下载软件源配置文件,存到系统指定目录,后续安装时系统能找到Jenkins安装包;
- 若提示“wget: 未找到命令”:先输入
sudo dnf install wget -y安装wget工具,再重新执行上面的命令; - 无外网情况:如果服务器不能连外网,先在能上网的电脑上打开链接 https://pkg.jenkins.io/redhat-stable/jenkins.repo,下载该文件,再通过Xshell的「文件传输」功能(或scp工具)上传到服务器的
/etc/yum.repos.d/目录下。
4.3 步骤2:导入Jenkins的验证密钥(确保下载的软件是官方正版)
输入以下命令,按回车:
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
- 作用:导入Jenkins官方的GPG密钥,系统会用该密钥验证安装包的完整性,避免下载到篡改的文件;
- 若导入失败:大概率是网络不稳定,可先在能上网的电脑上下载密钥文件(打开链接 https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key,保存为文件),上传到服务器后,输入
sudo rpm --import /path/密钥文件名称(将/path替换为文件上传的路径,比如/root/jenkins.io-2023.key)。
4.4 步骤3:更新系统软件包(可选,但建议执行)
输入以下命令,按回车:
sudo dnf upgrade -y
- 作用:更新系统中已安装的软件包到最新版本,避免因依赖包版本过旧导致Jenkins安装失败;
- 说明:该命令执行时间可能较长(视服务器网络和软件数量而定),耐心等待即可,不想更新也可以直接跳过这一步。
4.5 步骤4:安装Jenkins必需的依赖(Java环境)
Jenkins是基于Java开发的,必须安装Java才能运行,输入以下命令安装:
sudo dnf install fontconfig java-17-openjdk -y
- 作用:安装Java 17(Jenkins要求Java 11及以上版本,Java 17是稳定推荐版)和字体配置依赖;
- 验证Java是否安装成功:输入
java -version,按回车,若显示类似“openjdk version “17.0.9” 2023-10-17”的信息,说明安装成功; - 若系统已有其他Java版本:输入
sudo alternatives --config java,按回车后会列出所有Java版本,输入想要切换的版本编号(比如2),按回车即可切换默认Java版本。
4.6 步骤5:正式安装Jenkins
输入以下命令,按回车:
sudo dnf install jenkins -y
- 作用:通过系统软件包管理器安装Jenkins,安装过程会自动处理相关依赖;
- 安装完成提示:当终端显示“Complete!”或回到命令输入状态时,说明安装完成。
4.7 步骤6:重新加载系统服务配置(让系统识别Jenkins服务)
输入以下命令,按回车:
sudo systemctl daemon-reload
- 作用:Jenkins安装后会添加为系统服务,执行该命令让systemd(系统服务管理器)识别新安装的Jenkins服务,避免启动失败。
4.8 步骤7:启动Jenkins服务
输入以下命令,按回车:
sudo systemctl start jenkins
- 作用:启动Jenkins服务;
- 若启动失败:输入
sudo journalctl -u jenkins查看日志,日志中会显示失败原因(比如Java版本不兼容、端口被占用等),根据日志排查后再重新启动。
4.9 步骤8:设置Jenkins开机自启(避免服务器重启后需要手动启动)
输入以下命令,按回车:
sudo systemctl enable jenkins
- 作用:设置Jenkins服务在服务器开机时自动启动,无需每次重启服务器后手动执行启动命令;
- 执行成功后,终端会显示“Created symlink /etc/systemd/system/multi-user.target.wants/jenkins.service → /usr/lib/systemd/system/jenkins.service.”。
4.10 步骤9:检查Jenkins服务状态(确认是否正常运行)
输入以下命令,按回车:
sudo systemctl status jenkins
- 正常运行的判断:终端会显示“active (running)”(绿色),说明Jenkins服务正在运行;
- 若显示“inactive (dead)”:说明服务未启动,重新执行
sudo systemctl start jenkins启动; - 查看状态后退出:按键盘上的「q」键即可回到命令输入界面。
4.11 步骤10:获取Jenkins初始管理员密码(首次登录必需)
输入以下命令,按回车:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 作用:Jenkins首次登录需要输入初始密码,该命令用于查看该密码;
- 操作:执行后终端会显示一串随机字符串(比如“a1b2c3d4e5f6g7h8i9j0”),这就是初始密码,务必复制保存好(可以记在记事本上,后续登录要用)。
4.12 步骤11:开放8080端口(允许外部访问Jenkins)
Jenkins默认使用8080端口提供Web服务,需要开放该端口才能通过浏览器访问:
# 开放8080端口(永久生效)
sudo firewall-cmd --permanent --add-port=8080/tcp
# 重新加载防火墙配置,使端口开放生效
sudo firewall-cmd --reload
- 若服务器未启用firewalld防火墙(比如已关闭或使用其他防火墙),执行命令后可能提示“FirewallD is not running”,无需理会,直接跳过即可;
- 验证端口是否开放:输入
sudo firewall-cmd --query-port=8080/tcp,若显示“yes”说明开放成功。
4.13 步骤12:通过浏览器访问Jenkins Web界面
- 打开电脑上的浏览器(Chrome、Edge、Firefox均可);
- 在地址栏输入
http://服务器IP地址:8080(比如http://192.168.1.100:8080),按回车; - 此时会进入Jenkins首次登录界面,提示输入“管理员初始密码”,将之前复制的密码粘贴进去,点击「继续」;
- 后续步骤(可选,按引导操作):
- 选择“安装推荐的插件”:适合新手,Jenkins会自动安装常用插件,耐心等待安装完成(插件安装时间取决于网络速度);
- 创建管理员用户:插件安装完成后,会提示创建管理员账号(用户名、密码、邮箱等),按要求填写即可;
- 实例配置:默认显示Jenkins的访问地址,无需修改,点击「保存并完成」;
- 完成配置:点击「开始使用Jenkins」,即可进入Jenkins主界面,此时安装配置全部完成!
五、常见问题及解决方法(新手必看)
5.1 问题1:浏览器访问http://服务器IP:8080 无法打开
- 可能原因1:Jenkins服务未启动;
解决:回到Xshell终端,执行sudo systemctl start jenkins启动服务,再执行sudo systemctl status jenkins确认服务处于“active (running)”状态。 - 可能原因2:8080端口未开放;
解决:重新执行步骤4.12的端口开放命令,确保端口开放成功。 - 可能原因3:服务器IP地址或端口号输入错误;
解决:重新执行ip addr确认服务器IP,确保浏览器地址栏的IP和端口正确(端口是8080,不是22)。 - 可能原因4:服务器网络不通;
解决:检查服务器是否能正常上网(输入ping www.baidu.com测试),同时确认本地电脑能ping通服务器IP。
5.2 问题2:输入初始密码后,插件安装失败
- 可能原因:网络不稳定,无法下载插件;
解决:- 点击“重试”按钮,重新尝试安装;
- 若多次重试失败,选择“跳过插件安装”,进入Jenkins后,后续可通过「系统管理」→「插件管理」手动安装需要的插件;
- 手动安装插件时,可在「插件管理」→「高级」中,将“升级站点”的URL改为国内镜像(比如https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/update-center.json),点击「提交」后再安装插件,速度会更快。
5.3 问题3:启动Jenkins服务提示“Java版本不兼容”
- 可能原因:系统Java版本低于11;
解决:执行java -version查看当前Java版本,若低于11,重新执行步骤4.5安装Java 17,或切换到Java 11及以上版本。
5.4 问题4:GPG密钥导入失败
- 可能原因:网络不稳定,无法下载密钥;
解决:按步骤4.3的“无外网情况”处理,手动下载密钥文件并导入。
5.5 问题5:Jenkins服务启动后很快停止
- 可能原因:端口被占用(8080端口已被其他服务使用);
解决:- 查找占用8080端口的服务:输入
sudo lsof -i :8080(若提示lsof未找到,先执行sudo dnf install lsof -y安装); - 停止占用端口的服务:输入
sudo kill -9 进程ID(进程ID通过上一步命令查看); - 重新启动Jenkins:
sudo systemctl start jenkins; - 若不想停止其他服务,可修改Jenkins默认端口:编辑Jenkins配置文件
sudo vi /etc/sysconfig/jenkins,找到“JENKINS_PORT=“8080””,将8080改为其他未被占用的端口(比如8081),保存后执行sudo systemctl restart jenkins,再开放新端口即可。
- 查找占用8080端口的服务:输入
5.6 问题6:忘记Jenkins管理员密码
- 解决方法:
- 回到Xshell终端,输入
sudo vi /var/lib/jenkins/users/admin/_config.xml(admin是管理员用户名,若已修改过用户名,替换为实际用户名); - 找到
标签,删除标签内的内容,替换为#jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq(该密码对应的明文是“123456”); - 保存文件并退出(按「Esc」键,输入「:wq」按回车);
- 重启Jenkins服务:
sudo systemctl restart jenkins; - 重新访问Jenkins,使用用户名admin和密码123456登录,登录后及时修改密码。
- 回到Xshell终端,输入
六、后续使用建议
- 首次登录后,先修改管理员密码(「用户」→「admin」→「设置」→「密码」),避免使用初始密码或默认密码,提高安全性;
- 根据需求安装插件:常用插件包括“Git”(拉取代码)、“Pipeline”(构建流水线)、“Allure”(测试报告)、“Docker”(容器化部署)等;
- 定期备份Jenkins配置:重要配置可通过「系统管理」→「备份Jenkins」插件备份,避免配置丢失;
- 若需要多人使用,可在「系统管理」→「管理用户」中创建多个账号,分配不同权限(比如开发者、测试人员、管理员)。
七、总结
本文详细讲解了从“连接Linux服务器”到“Jenkins安装配置”的全流程,步骤清晰且包含大量新手避坑指南。只要按照步骤一步步执行,就能顺利完成Jenkins部署,后续可用于构建自动化测试流水线、代码部署等工作。如果在操作过程中遇到其他问题,可查看Jenkins日志(sudo journalctl -u jenkins)或搜索相关报错信息,也可以留言咨询!









