在 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 命令实现

相关推荐
matlab的学徒1 天前
Web与Nginx网站服务(改)
linux·运维·前端·nginx·tomcat
Insist7531 天前
prometheus安装部署与alertmanager邮箱告警
linux·运维·grafana·prometheus
BAGAE1 天前
MODBUS 通信协议详细介绍
linux·嵌入式硬件·物联网·硬件架构·iot·嵌入式实时数据库·rtdbs
灿烂阳光g1 天前
SELinux 策略文件编写
android·linux
xqlily1 天前
Linux操作系统之Ubuntu
linux·运维·ubuntu
阿部多瑞 ABU1 天前
《基于国产Linux的机房终端安全重构方案》
linux·安全
倔强的石头1061 天前
【Linux指南】Makefile入门:从概念到基础语法
linux·运维·服务器
ajassi20001 天前
linux C 语言开发 (七) 文件 IO 和标准 IO
linux·运维·服务器
程序猿编码1 天前
基于 Linux 内核模块的字符设备 FIFO 驱动设计与实现解析(C/C++代码实现)
linux·c语言·c++·内核模块·fifo·字符设备
一只游鱼1 天前
Zookeeper介绍与部署(Linux)
linux·运维·服务器·zookeeper