在 Linux 中安装 Jenkins【图文详细教程】

安装 Jenkins 的系统要求:

  • 最少 256MB 可用内存
  • 最少 1GB 可用磁盘空间
  • JDK 8 / 11 /17(Jenkins 是用 Java 写的,打包成 war 包)

查看 JDK 的版本

Java JDK 在 Linux 中的安装可以参考:https://www.yuque.com/u27599042/fgh3le/qk3ddap9dc60rgqf

目前我使用的 Jenkins 版本为 2.440.2,其所需要的 Java JDK 版本为 JDK 8 / 11 /17

执行如下命令,查看 Java JDK 的版本

bash 复制代码
java --veriosn

Jenkins 下载

下载地址:https://www.jenkins.io/download/

这里选择长期支持的版本进行下载,然后我们选择下载 Jenkins 的 war 包,后面直接使用 Java 运行

下载完成后,我们进入 Linux 系统中的 /usr/local 目录中,并创建 jenkins 目录,用于存放 jenkins 的 war 包

bash 复制代码
cd /usr/local
mkdir jenkins

然后我们将 Jenkins war 包发送到 Linux 的 /usr/local/jenkins 目录中

运行启动 Jenkins

接下来我们就可以启动运行 Jenkins 了,在 Jenkins 的 war 包所在的目录中,通过执行如下命令,启动运行 Jenkins

bash 复制代码
java -jar jenkins2.440.2.war

默认情况下 Jenkins 运行在 8080 端口

第一次启动 Jenkins 后,管理员 admin 账户由 Jenkins 自动为我们创建好了,初始密码如截图中所示,接下来我们需要访问 Jenkins 进行初始化

Jenkins 管理员账户初始密码会被放在用户家目录下的 .jenkins 隐藏目录中的 secrets/initialAdminPassword 文件中

Jenkins 启动后,其相关数据会记录在用户家目录下的 .jenkins 隐藏目录中

访问 Jenkins 进行初始化

默认情况下 Jenkins 运行在 8080 端口,所以我们通过 http://Linux IP 地址:8080/ 访问 Jenkins

这里需要注意以下,Linux 系统中的防火墙需要开放 8080 端口,否则会导致无法访问,防火墙开放指定端口或者关闭防火墙可以参考:https://www.yuque.com/u27599042/gny4fg/si8l8ea4z8hkbgis

将 Jenkins 启动时生成的密码输入,然后点击继续

接下来,我们选择安装 Jenkins 推荐的插件

如果你出现如下的情况,存在两种可能:

  • 你下载的 Jenkins war 包的版本与插件的版本不匹配,Jenkins 的版本较低,而推荐安装的插件的版本是新的 Jenkins 版本对应的,此时去官网中下载最新的 Jenkins 长期支持版即可
  • 另一种,就是插件下载源访问失败,我们将其更换为国内镜像即可,这里失败了可以先跳过,后面进入 Jenkins 管理界面中修改插件下载源,可以参考:https://www.yuque.com/u27599042/cda39w/xb7pf9gp88gl0tck

插件安装完成之后,点击继续,进行第一个管理员用户的创建,信息输入完成后,点击保存并完成

接下来,配置 Jenkins URL,指定 Jenkins 服务器的访问地址,这里根据需要配置,我直接使用默认的

Jenkins URL 的主要目的是为了确保 Jenkins 能够正确生成和提供与其它插件和工具交互所需的 URL 链接。这些链接包括构建报告、构建历史记录、插件管理等。通过配置 Jenkins URL,可以确保这些链接在用户访问时能够正确地指向 Jenkins 服务器。

此外,配置 Jenkins URL 还可以影响到一些与安全相关的功能,例如:安全审计日志、跨站请求伪造(CSRF)防护等。因此,在配置 Jenkins URL 时,需要确保 URL 的准确性和可访问性,以便用户和系统能够正常使用 Jenkins 的各项功能。

此时,Jenkins 初始化完成,可以开始使用 Jenkins 了

后台启动运行 Jenkins

在上述运行 Jenkins 的方式中,只能在终端的前台运行,即启动运行 Jenkins 后,该终端就被 Jenkins 所占用,无法运行其他命令。

此时,我们通过执行如下命令,让 Jenkins 在后台中运行,并指定运行 Jenkins 的控制台输出重定向到指定文件中记录

关于 Linux 的 nohup 可以参考:https://www.yuque.com/u27599042/gny4fg/pda26uenxn6oqkg7

bash 复制代码
nohup java -jar /usr/local/jenkins/jenkins2.440.2.war >/usr/local/jenkins/log.out 2>&1 &


我们使用此方法后台启动运行 Jenkins,要对其进行停止运行操作,需要通过使用 kill 命令实现

相关推荐
0+11139 分钟前
Linux --从 poll 到 epoll多路转接
linux·服务器·1024程序员节
青瓦梦滋1 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
小刘在重生~1 小时前
Servlet_day2 (上)|Servlet 整合 JDBC|请求转发 forward|Request 作用域
hive·hadoop·servlet
桌面运维家1 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890751 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻2 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
2601_949847754 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_639906944 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗5 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
KaiwuDB5 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式