Linux系统怎么安装Jenkins

来源:前端技术作者:天马头衔:网络博主
导读:本期聚焦于天马创作的《Linux系统怎么安装Jenkins》,敬请观看详情。很多开发者和运维人员需要在Linux系统中部署Jenkins来搭建持续集成环境,但是不清楚具体的安装步骤和注意事项。本文将详细介绍在Linux系统上安装Jenkins的完整流程,包括环境准备、安装包获取、服务配置以及初始化访问的相关操作。同时会说明安装过程中可能遇到的常见问题及解决方法,帮助读者快速完成Jenkins的部署,顺利使用Jenkins实现自动化构建、测试和部署等功能,提升开发流程的效率。

Jenkins 是一款开源的持续集成和持续交付平台,能够将代码拉取、依赖构建、单元测试、产物打包、环境部署等环节串联成可重复执行的任务流水线。对于使用 Linux 作为服务器操作系统的团队来说,在 Linux 上安装 Jenkins 通常是搭建自动化交付环境的第一步。由于 Jenkins 本身依赖 Java 运行环境,并且安装完成后还需要完成软件源配置、服务启动、端口开放和管理员初始化等步骤,因此整个过程需要按照顺序逐项确认,避免因为基础依赖缺失或访问限制导致后续配置失败。

安装前环境检查与 Java 依赖准备

在开始安装 Jenkins 之前,首先要确认当前 Linux 系统具备可正常运行的 Java 环境。Jenkins 服务端通常依赖 Java 8 或更高版本,如果系统中没有安装 JDK,或者安装的版本过低,Jenkins 服务在启动阶段就可能报错。检查 Java 是否可用,可以直接在终端执行版本查询命令,观察输出中是否包含版本号、运行环境信息和 Java 路径。若命令无法识别,说明当前 shell 环境找不到 Java 可执行文件,需要先完成 JDK 安装或修正环境变量。

# 检查Java版本
java -version

对于使用 apt 包管理器的系统,可以先更新软件包索引,再安装 OpenJDK 11 作为基础运行环境。安装过程中,包管理器会同时处理依赖关系,避免因为缺少基础组件导致安装中断。安装完成后,建议再次执行版本检查命令,确认系统能够识别到新的 Java 版本。除了版本本身,还应确认 Jenkins 服务运行用户能够读取 Java 相关目录,权限异常也可能造成服务无法启动。

# 更新软件包索引
sudo apt update
# 安装OpenJDK 11
sudo apt install openjdk-11-jdk -y

Java 环境是 Jenkins 能否正常运行的基础,因此这一步不能省略。即使系统已经安装过 Java,也建议重新确认版本是否符合要求,尤其是当服务器经历过重装、升级或环境迁移之后。若版本检查通过,就可以进入软件源配置阶段;若版本检查不通过,则应先解决 Java 依赖问题,再执行 Jenkins 安装命令,否则后续服务状态检查和初始化访问都会受到牵连。

配置官方软件源并安装 Jenkins

为了获得稳定且便于后续维护的 Jenkins 版本,推荐通过官方软件源进行安装,而不是手动下载压缩包自行部署。官方软件源能够保证依赖项由包管理器统一处理,升级和卸载也更规范。配置过程一般分为两步:先导入 Jenkins 官方 GPG 密钥,用于校验软件包签名;再将 Jenkins 软件源写入系统源列表,使 apt 能够识别并安装该来源中的 Jenkins 包。

导入 GPG 密钥时,通常使用 curl 下载密钥内容,并通过 tee 写入系统密钥目录。写入完成后,再使用 echo 将软件源地址追加到 apt 的源配置文件中。这里需要注意命令中的重定向符号,避免因为权限不足导致写入失败。若系统没有 curl,也可以先安装 curl 或 wget 等下载工具,再执行密钥导入操作。源文件写入后,可以检查文件内容是否正确,确认软件源地址和签名文件路径没有拼写错误。

# 导入Jenkins官方GPG密钥
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
# 添加Jenkins软件源
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

软件源配置完成后,需要再次更新软件包索引,让系统重新扫描新增的源信息。随后执行安装命令,包管理器会自动下载 Jenkins 及其依赖。安装过程中如果提示确认,按提示继续即可。安装结束后,Jenkins 服务通常会随安装过程自动启动,因此下一步应检查服务状态,确认进程已经正常运行,而不是直接打开浏览器访问。状态输出中出现 active (running) 标识时,通常表示服务已经处于运行状态。

# 更新软件包索引
sudo apt update
# 安装Jenkins
sudo apt install jenkins -y
# 检查Jenkins服务状态
sudo systemctl status jenkins

启动服务、初始化访问与端口开放

Jenkins 安装完成后,默认会监听 8080 端口,用户可以在浏览器中访问 http://服务器IP:8080 进入管理界面。首次访问时,系统不会直接展示完整控制台,而是进入初始化设置页面,要求输入初始管理员密码。这个密码由 Jenkins 在首次启动时生成,并保存在服务器本地文件中,需要通过命令行读取。将密码粘贴到页面输入框后,才能进入插件安装和用户创建流程。

# 获取Jenkins初始管理员密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

如果服务器开启了防火墙,还需要放行 Jenkins 默认端口,否则即使服务已经启动,外部浏览器也可能无法建立连接。使用 ufw 管理防火墙时,可以单独允许 8080 端口访问,然后重新加载规则。若系统没有启用 ufw,这一步可以跳过;若后续修改了 Jenkins 监听端口,也应同步检查防火墙规则,确保新的端口被允许访问。

# 开放8080端口
sudo ufw allow 8080
# 重新加载防火墙规则
sudo ufw reload

进入初始化页面后,可以选择安装推荐插件,也可以根据项目需要自定义插件列表。插件安装完成后,系统会引导创建第一个管理员账号,填写用户名和密码后保存,即可完成基础初始化。初始化完成后,Jenkins 控制台才真正具备创建任务、配置流水线、管理节点和查看构建记录的能力。建议初始化完成后尽快确认管理员账号可用,并记住访问地址和端口信息,方便后续维护。

常见问题定位与处理建议

在实际部署过程中,Jenkins 服务启动失败是最常见的问题之一。遇到这种情况时,不应只反复重启服务,而应优先检查 Java 环境是否可用、Jenkins 配置文件是否存在异常,以及日志中是否记录了明确的异常信息。Jenkins 的日志文件通常位于系统日志目录下,通过实时查看日志可以快速判断是依赖缺失、端口冲突,还是插件加载失败。

# 查看Jenkins日志
sudo tail -f /var/log/jenkins/jenkins.log

另一类常见问题是端口被占用。如果 8080 端口已经被其他服务使用,Jenkins 可能无法正常监听,或者启动后无法通过默认地址访问。此时可以修改 Jenkins 的默认端口配置,将监听端口调整为未被占用的端口,例如 8081。修改完成后需要重启服务,使新配置生效。重启后应再次检查服务状态,并确认浏览器能够访问新的端口地址。

# 编辑Jenkins配置文件
sudo vim /etc/default/jenkins
# 将HTTP_PORT=8080修改为未被占用的端口,例如HTTP_PORT=8081
# 保存退出后重启服务
sudo systemctl restart jenkins

总体来看,安装 Jenkins 的关键在于先保证 Java 环境、软件源和服务状态正常,再依次处理端口、初始化密码和插件配置。只要按照环境准备、软件源安装、服务验证、访问初始化、问题排查的顺序逐项确认,大多数 Linux 环境下的 Jenkins 安装问题都可以被快速定位和解决。若某一步出现异常,应优先查看对应命令输出和日志内容,而不是直接跳过当前步骤继续执行后续操作。

JenkinsLinux持续集成Java修改时间:2026-07-12 23:18:18

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。