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

server/2024/12/26 11:37:00/

一、前言

我是一个前端开发,需要频繁将编写的前端系统打包更新到公司的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,以便后续选择合适的安装包和配置步骤。

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 命令编辑系统环境变量配置文件,在文件末尾添加以下内容:
# 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 官方文档、相关论坛或社区寻求进一步的支持和解决方案。


http://www.ppmy.cn/server/153301.html

相关文章

我在广州学 Mysql 系列——数据表查询命令详解

ℹ️大家好,我是LXJ,今天星期二了,本文将讲述MYSQL查询数据的详细命令以及相关例题~~ 复习:👉《Mysql函数的练习题》 同时,数据库相关内容查看专栏👉【数据库专栏】~ 想要了解更多内容请点击我的…

ARM 获取cpu个数

MPIDR_EL1寄存器 AFF0 :表示一个 core 中的第几个 thread,大多数 core 都是 single-threaded core,所以大多数 core 中的该值是 0. AFF1:表示一个 cluster 中的第几个 cpu AFF2/AFF3:表示系统中的第几个 cluster&#…

(七)循环神经网络_LSTM长短期记忆网络

一、RNN存在的问题 二、LSTM的基本思想 三、链式结构和门控单元 RNN都有重复链式结构: 标准RNN结构简单;LSTM链式结构特殊。 LSTM专门设计了 3种门控单元来控制信息的保留和丢弃。 具体来说包括了三种门。 之所以称之为门,一定要有一个控制…

Ajax笔记

Ajax入门 01.AJAX 概念和 axios 使用 讲解 什么是 AJAX ? mdn 使用浏览器的 XMLHttpRequest 对象 与服务器通信 浏览器网页中,使用 AJAX技术(XHR对象)发起获取省份列表数据的请求,服务器代码响应准备好的省份列表数据给前端&a…

模电_郑益慧_笔记_2_PN结的形成

载流子的浓度 本征激发的速度与温度相关;复合与载流子浓度相关; 当温度升高时,本征激发加剧,载流子浓度逐渐上升;同时随着载流子浓度上升,复合加剧,载流子浓度逐渐下降;最终&#x…

浏览器语音视频功能

需求: 1:查看当前的语音视频频道的队列状况 2:获取到临时的语音视频用户名 3:跳转到指定的语音聊天房间 lc/Pyfile/Pywebback/app/yuyin/templates/zhuye/base.html <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"…

部署前后端分离若依项目--Window版本

1、准备条件 nssm&#xff0c;nginx&#xff0c;win11&#xff0c;后端jar包&#xff0c;前端html文件&#xff0c;可用的redis与mysql 2、后端启动 1、编写run.bat文件 echo off echo. echo run start echo.cd %~dp0set JAVA_OPTS-Xms256m -Xmx1024m -XX:MetaspaceSize12…

后端统一接口返回状态【初步模板】

后端统一接口返回状态【模板】 文章目录 后端统一接口返回状态【模板】1 .Result类编写2 .Constants类编写3 .更改Controller层下的类return格式 开发过程中&#xff0c;每个接口的返回格式设计都是一样的&#xff0c;这样可以大大提高开发效率。 项目结构如下图&#xff1a;分…