一、前言
我是一个前端开发,需要频繁将编写的前端系统打包更新到公司的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_HOME
和JRE_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 官方文档、相关论坛或社区寻求进一步的支持和解决方案。