在 CentOS 8 系统上安装 Jenkins 的全过程

一、前言

我是一个前端开发,需要频繁将编写的前端系统打包更新到公司的linux服务器,觉得这种工作纯体力活,有时候太浪费时间,以前用过别人搭建的Jenkins可以很好的解决这个问题。

Jenkins 是一款流行的开源持续集成和持续交付(CI/CD)工具,以下是在 CentOS 8 系统上安装 Jenkins 的详细步骤:

二、安装 Java 环境

Jenkins 是用 Java 编写的工具。它的代码运行需要 Java 虚拟机来执行,就像汽车需要汽油才能跑一样,没有 Java 环境,Jenkins 无法工作。 而且,Jenkins 凭借 Java"一次编写,到处运行"的特性,可以在多种操作系统上使用。同时,它的众多插件很多也是 Java 编写的,这些插件要在 Java 环境里才能正常运行,从而扩展 Jenkins的功能。

1、查看系统信息

执行命令 cat /etc/os-release,确认系统为 CentOS 8,以便后续选择合适的安装包和配置步骤。

powershell 复制代码
cat /etc/os-release

2、查看系统 Java 环境

1. 分别执行以下命令查看系统中是否已安装 Java 相关组件:

  • rpm -qa | grep java:此命令用于查找已安装的所有与 "java" 相关的 RPM 包,可能会列出一些 Java 运行时环境或开发工具包的信息。
  • rpm -qa | grep jdk:专门查找已安装的 JDK(Java Development Kit)包。
  • rpm -qa | grep gcj:检查是否安装了 GNU Java 编译器(GNU Compiler for Java)相关组件。

2. 如果系统中存在旧版本的 Java,并且你打算安装新的 Java 版本,可使用以下命令卸载旧版本:

  • rpm -qa | grep java | xargs rpm -e --nodeps:这会卸载所有通过 RPM 安装的与 "java" 相关的包,--nodeps 选项表示忽略包之间的依赖关系,强制卸载。不过使用此选项时需谨慎,确保不会影响其他正在运行的关键系统服务或应用程序。
  • rpm -qa | grep jdk | xargs rpm -e --nodeps:专门卸载已安装的 JDK 包。

3、安装 Java 环境

1. 配置 yum 镜像源

  • 首先进入 /etc/yum.repos.d/ 目录,使用命令 cd /etc/yum.repos.d

  • 为了防止原有的 yum 镜像源文件被修改或丢失,先创建一个备份目录 mkdir /etc/yum.repos.d/backup,然后将原有的 .repo 文件移动到备份目录中,使用命令 mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

  • 从阿里云下载适用于 CentOS 8 的镜像源文件,执行命令 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

  • 下载完成后,清理 yum 缓存并重新建立元数据,依次执行以下命令:

  • yum clean all:清除 yum 缓存中的所有数据,包括已下载的 RPM 包和元数据信息。

  • yum makecache:根据新的镜像源文件重新生成 yum 缓存的元数据,以便更快地查找和安装软件包。

  • 最后,使用命令 yum repolist 查看新配置的 yum 镜像源是否生效,列出的仓库列表应显示来自阿里云的源信息。

2.检索 Java 可安装的列表

  • 执行命令 yum list java*,这会列出 yum 仓库中所有与 Java 相关的可安装软件包,包括不同版本的 JDK、JRE(Java Runtime Environment)以及其他 Java 工具和库,方便你选择需要安装的 Java 版本。

3.安装 jdk

  • 根据上一步检索到的列表,选择合适的 JDK 版本进行安装。这里推荐安装 java-17-openjdk*,执行命令 yum install java-17-openjdk* -y-y 选项表示在安装过程中自动回答 "yes",无需手动确认安装提示。
  • 安装完成后,使用命令 javac 验证 Java 编译器是否安装成功。如果系统能够识别 javac 命令并显示相关帮助信息,则说明 JDK 安装正确。

4.配置 Java 环境

  • Java 默认安装路径通常为 /usr/lib/jvm,你可以进入该目录查看已安装的 Java 版本文件夹。
  • 使用 vim /etc/profile 命令编辑系统环境变量配置文件,在文件末尾添加以下内容:
powershell 复制代码
# java环境变量
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.1.0.12-2.el8_5.x86_64
JRE_HOME=/usr/lib/jvm/jre-17-openjdk-17.0.1.0.12-2.el8_5.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
  • 注意:上述 JAVA_HOMEJRE_HOME 的路径应根据实际安装的 Java 版本进行调整,确保路径准确无误。
  • 保存并退出 vim 编辑器后,执行命令 source /etc/profile,使新配置的环境变量立即生效。

5.查看 Java 环境变量

  • 分别执行以下命令查看 Java 环境变量的设置情况:

  • echo $JAVA_HOME:应显示你配置的 Java 安装路径,如 /usr/lib/jvm/java-17-openjdk-17.0.1.0.12-2.el8_5.x86_64

  • echo $PATH:应包含 $JAVA_HOME/bin 路径,确保系统能够在任何目录下找到 Java 命令。
  • echo $CLASSPATH:应显示你配置的类路径信息,用于 Java 类的加载和查找。

4、安装 Jenkins

1.添加 Jenkins 仓库到 yum

  • 执行命令 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo,这会从 Jenkins 官方网站下载适用于 Red Hat 系(包括 CentOS)的 Jenkins 仓库配置文件,并保存到 /etc/yum.repos.d/ 目录下,命名为 jenkins.repo
  • 接着执行命令 sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key,导入 Jenkins 的 GPG 密钥,用于验证从 Jenkins 仓库下载的软件包的完整性和真实性,确保安装的软件来源可靠。

2.安装 Jenkins

  • 在 CentOS 8 系统上,执行命令 sudo dnf install jenkins 进行 Jenkins 的安装。dnf 是 CentOS 8 中推荐的软件包管理器,它会自动解决安装过程中的依赖关系,并从配置好的 Jenkins 仓库中下载并安装 Jenkins 及其相关依赖包。
  • 在安装过程中,系统会提示你确认安装信息,如软件包的名称、版本、大小以及依赖关系等。你可以查看这些信息,确保安装的内容符合预期,然后按 y 键继续安装。

3.启动 Jenkins 服务

  • 安装完成后,执行命令 sudo systemctl start jenkins 启动 Jenkins 服务。这会启动 Jenkins 后台进程,使其开始监听来自客户端的请求。

4.查看 Jenkins 是否成功启动

  • 执行命令 sudo systemctl status jenkins 查看 Jenkins 服务的运行状态。如果服务成功启动,输出信息中会显示 active (running) 状态,以及一些关于服务运行的详细信息,如进程 ID、启动时间等。
  • 同时,Jenkins 在首次启动时会生成一个管理员密码,用于解锁和初始化 Jenkins 配置。你可以在文件 /var/lib/jenkins/secrets/initialAdminPassword 中找到该密码,使用 cat /var/lib/jenkins/secrets/initialAdminPassword 命令查看密码内容,并记录下来,在后续访问 Jenkins 网页界面时需要使用该密码进行解锁操作。

5.访问 Jenkins

  • 在浏览器中输入 http://ip:8080(将 ip 替换为实际服务器的 IP 地址),即可访问 Jenkins 网页界面。如果无法访问,可能是由于服务器防火墙的限制。

  • 若遇到访问问题,可以尝试关闭防火墙,执行命令 systemctl stop firewalld 停止防火墙服务,然后执行 systemctl disable firewalld.service 禁用防火墙开机自启。但关闭防火墙会使服务器暴露在潜在的安全风险中,因此更推荐的做法是开放 Jenkins 使用的 8080 端口,执行以下命令:

  • firewall-cmd --zone=public --add-port=8080/tcp --permanent:这会将 8080 端口添加到防火墙的公共区域,并设置为永久生效。

  • systemctl restart firewalld.service:重启防火墙服务,使端口开放设置生效。

  • 首次访问 Jenkins 网页界面时,会要求输入管理员密码进行解锁。输入之前获取的初始密码后,点击 "继续" 按钮,进入 Jenkins 插件安装页面。在这里,你可以选择安装推荐的插件,这些插件会提供常见的持续集成和持续交付功能,如 Git 集成、构建工具集成等,也可以根据自己的需求自定义选择要安装的插件。

这里的管理员密码就是/var/lib/jenkins/secrets/initialAdminPassword路径文件里存储的代码

  • 完成插件安装后,会进入创建管理员用户页面,设置用户名、密码和电子邮件地址等信息,这些信息将用于后续登录 Jenkins 管理界面。设置完成后,点击 "保存并继续" 按钮,进入 Jenkins 实例配置页面,在这里可以配置 Jenkins 的 URL 等信息,通常保持默认设置即可,点击 "保存并完成" 按钮,完成 Jenkins 的初始化配置,即可开始使用 Jenkins 进行项目的持续集成和持续交付配置。

5、安装完成

在整个安装过程中,需要注意以下几点:

  • 硬件资源配置对 Jenkins 的运行有一定影响,建议为服务器分配足够的运行内存(如 2GB 或以上)和 CPU 核心(如 2 核或以上),以确保 Jenkins 能够稳定运行,尤其是在处理复杂的构建任务和大量的项目时。
  • 确保安装的 JDK 版本为 17 以上,因为较新版本的 Jenkins 可能对 Java 版本有一定要求,低版本的 Java 可能会导致 Jenkins 启动失败或运行不稳定。

以上步骤详细地描述了在 CentOS 8 系统上安装 Jenkins 的全过程,希望对你有所帮助。如果你在安装过程中遇到任何问题,可以参考 Jenkins 官方文档、相关论坛或社区寻求进一步的支持和解决方案。

相关推荐
虾..16 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙17 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
hkhkhkhkh12318 小时前
Linux设备节点基础知识
linux·服务器·驱动开发
HZero.chen20 小时前
Linux字符串处理
linux·string
张童瑶20 小时前
Linux SSH隧道代理转发及多层转发
linux·运维·ssh
汪汪队立大功12320 小时前
什么是SELinux
linux
石小千20 小时前
Linux安装OpenProject
linux·运维
柏木乃一20 小时前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
Lime-309020 小时前
制作Ubuntu 24.04-GPU服务器测试系统盘
linux·运维·ubuntu
百年渔翁_肯肯20 小时前
Linux 与 Unix 的核心区别(清晰对比版)
linux·运维·unix