首页 物联网

CentOS 7 安装 Jenkins:保姆级教程与常见问题避坑指南

分类:物联网
字数: (4960)
阅读: (7199)
内容摘要:CentOS 7 安装 Jenkins:保姆级教程与常见问题避坑指南,

在软件开发过程中,持续集成和持续交付 (CI/CD) 变得越来越重要。Jenkins 作为一个流行的开源自动化服务器,可以帮助我们自动化构建、测试和部署过程。本文将详细介绍如何在 CentOS 7 上安装 Jenkins,并分享一些常见的坑以及解决方案。

前提条件

  • 一台 CentOS 7 服务器,具备 root 权限。
  • 已安装 JDK (Java Development Kit)。Jenkins 是 Java 应用程序,需要 JDK 才能运行。

安装 JDK

首先,我们需要安装 JDK。推荐安装 Oracle JDK 或 OpenJDK。这里以安装 OpenJDK 8 为例:

yum install -y java-1.8.0-openjdk-devel

安装完成后,可以通过以下命令验证 JDK 是否安装成功:

java -version

如果显示 Java 版本信息,则说明 JDK 安装成功。

CentOS 7 安装 Jenkins:保姆级教程与常见问题避坑指南

下载 Jenkins RPM 包

官方推荐使用 RPM 包进行安装。你可以从 Jenkins 官网下载最新的 RPM 包,或者使用以下命令直接从 Jenkins 官方仓库下载:

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

上述命令会添加 Jenkins 官方仓库到你的 CentOS 系统中,并导入 Jenkins 的 GPG 密钥,用于验证 RPM 包的完整性。

安装 Jenkins

添加仓库后,就可以使用 yum 命令安装 Jenkins 了:

CentOS 7 安装 Jenkins:保姆级教程与常见问题避坑指南
yum install -y jenkins

yum 会自动解决依赖关系,并安装 Jenkins 及其相关的依赖包。

启动 Jenkins

安装完成后,Jenkins 服务并不会自动启动。我们需要手动启动它:

systemctl start jenkins

可以使用以下命令查看 Jenkins 服务的状态:

CentOS 7 安装 Jenkins:保姆级教程与常见问题避坑指南
systemctl status jenkins

如果状态显示为 active (running),则说明 Jenkins 启动成功。

配置 Jenkins

Jenkins 默认监听 8080 端口。你可以通过浏览器访问 http://<your_server_ip>:8080 来访问 Jenkins 界面。

首次访问时,Jenkins 会要求你输入初始密码。这个密码位于 /var/lib/jenkins/secrets/initialAdminPassword 文件中。你可以使用以下命令查看密码:

CentOS 7 安装 Jenkins:保姆级教程与常见问题避坑指南
cat /var/lib/jenkins/secrets/initialAdminPassword

输入密码后,Jenkins 会提示你安装推荐的插件,或者选择手动安装插件。推荐选择安装推荐的插件,这可以简化后续的配置过程。

防火墙设置

如果你的 CentOS 服务器启用了防火墙,需要开放 8080 端口,允许外部访问。可以使用以下命令开放端口:

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

常见问题与避坑指南

  • JDK 版本不兼容: 确保使用的 JDK 版本与 Jenkins 版本兼容。建议使用 JDK 8 或 JDK 11。
  • 防火墙未开放端口: 如果无法通过浏览器访问 Jenkins 界面,很可能是防火墙未开放 8080 端口。请按照上述步骤开放端口。
  • 内存不足: Jenkins 需要一定的内存才能运行。如果服务器内存较小,可能会导致 Jenkins 运行缓慢甚至崩溃。可以考虑增加服务器的内存,或者优化 Jenkins 的配置。
  • 权限问题: Jenkins 运行在 jenkins 用户下,需要确保该用户对相关目录具有读写权限。尤其是构建过程中涉及的目录,需要特别注意权限设置。
  • 插件冲突: 某些插件之间可能存在冲突,导致 Jenkins 运行不稳定。遇到这种情况,可以尝试禁用部分插件,或者更新插件到最新版本。

使用 Nginx 反向代理 Jenkins

为了安全性和性能考虑,通常会使用 Nginx 作为反向代理服务器,将外部请求转发到 Jenkins。这样做可以隐藏 Jenkins 的真实端口,并提供 SSL 加密等功能。配置 Nginx 反向代理 Jenkins 的关键在于正确设置 proxy_pass 指令和 proxy_set_header 指令,确保请求能够正确地转发到 Jenkins,并且保留原始的 Host 信息。

以下是一个简单的 Nginx 配置示例:

server {
    listen 80;
    server_name your_domain.com; # 修改为你的域名或 IP 地址

    location / {
        proxy_pass http://localhost:8080; # Jenkins 监听的端口
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Nginx-Proxy true;
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        proxy_read_timeout 300;
        proxy_redirect off;
    }
}

将上述配置保存到 /etc/nginx/conf.d/jenkins.conf 文件中,然后重启 Nginx 服务即可。

总结

本文详细介绍了如何在 CentOS 7 上安装 Jenkins,并分享了一些常见的坑以及解决方案。通过本文的指导,你可以快速搭建一个 Jenkins CI/CD 平台,并自动化你的软件开发流程。在实际使用中,还需要根据你的具体需求进行配置和优化。希望这些能帮到大家,让大家在 CentOS安装Jenkins 的过程中少走弯路。

CentOS 7 安装 Jenkins:保姆级教程与常见问题避坑指南

转载请注明出处: 加班到秃头

本文的链接地址: http://m.acea4.store/blog/698043.SHTML

本文最后 发布于2026-04-24 17:55:46,已经过了3天没有更新,若内容或图片 失效,请留言反馈

()
您可能对以下文章感兴趣
评论
  • 吃土少女 20 小时前
    写的很详细,步骤清晰,解决了我的问题!之前一直卡在防火墙那里,谢谢博主。
  • 路过的酱油 2 天前
    JDK版本是个坑,之前踩过,Jenkins对JDK版本还是比较敏感的。
  • 单身狗 6 天前
    JDK版本是个坑,之前踩过,Jenkins对JDK版本还是比较敏感的。
  • 工具人 5 天前
    不错不错,正好要搭 Jenkins 环境,这篇文章正好能派上用场。感谢分享!
  • 工具人 6 天前
    写的很详细,步骤清晰,解决了我的问题!之前一直卡在防火墙那里,谢谢博主。