如何在 Ubuntu 22.04 服务器上安装 Jenkins

server/2024/12/21 7:31:53/

简介

Jenkins 是一个非常流行的免费自动化工具,每个人都应该了解它。DevOps 工程师使用它来自动化代码构建、测试和部署。本文将重点介绍如何在新的 Ubuntu LTS 版本,即 Ubuntu 22.04 中安装 Jenkins。

但在此之前,让我们快速讨论一下 Jenkins 是什么。

什么是 Jenkins

Jenkins 是开源自动化服务器的首选。它是目前最流行的 CI/CD 工具。它用于自动化软件开发任务,例如测试代码更改、打包以及在 SDLC 阶段末尾进行部署。

主要功能:

  • 管道自动化 将 CI/CD 流程定义为代码。
  • 可扩展性: 支持超过 1500 个插件,用于各种集成(例如,Git、Docker、Kubernetes)。
  • 分布式构建: 在多台机器上运行作业以实现可扩展性。
  • 轻松集成: 可以与众多工具和平台(例如,Maven、Gradle、GitHub)协同工作。
  • 用户友好的界面: 简单的 Web UI,用于作业管理和监控。
  • 强大的社区支持: 定期更新和广泛的文档。

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器Win+R 打开运行窗口,输入 powershell 后点击确定。

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器

  • 到此为止,我们的云服务器就远程连接上了。

如何在 Ubuntu 22.04 上安装 Jenkins

让我们从更新你的系统并安装必要的依赖项开始。

第一步:更新系统

在安装新软件之前更新你的系统软件包始终是一个明智的选择。打开终端并运行以下命令:

sudo apt update

sudo apt upgrade

它会更新你系统上使用的软件包索引。它会知道有哪些软件包及其版本,然后安装所有已安装的新版本。

第二步:安装 Java

第二步是在你的 Ubuntu 服务器上安装 Java,因为 Jenkins 需要它才能运行。Jenkins 官方支持 Java 11Java 17。我们将安装 OpenJDK 17,这是 Ubuntu 22.04 推荐的版本。

要安装 Java 17,请运行以下命令:

sudo apt install openjdk-17-jdk

安装 Java 后,通过检查版本来验证安装:

java -version

你应该看到类似于以下的输出:

openjdk version "17.0.x"
OpenJDK Runtime Environment (build 17.0.x+xx)
OpenJDK 64-Bit Server VM (build 17.0.x+xx, mixed mode)

安装 Java 后,我们准备好进行下一步。

第三步:添加 Jenkins 存储库

首先将 Jenkins GPG 密钥导入你的系统。请注意,下面提到的 URL 将来可能会更改,因此请在使用前进行验证。

sudo wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key

接下来,将 Jenkins 存储库添加到你系统的 sources.list:

sudo sh -c 'echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian binary/ > /etc/apt/sources.list.d/jenkins.list'

第四步:安装 Jenkins

Jenkins 在默认的 Ubuntu 存储库中不可用,因此我们需要添加 Jenkins 存储库,然后从那里安装 Jenkins。

添加存储库后,更新软件包列表并通过运行以下命令安装 Jenkins:

sudo apt update

sudo apt install jenkins

安装 Jenkins 后,它将自动作为服务启动。

第五步:启动并启用 Jenkins

现在 Jenkins 已经安装,我们需要启动并启用 Jenkins 服务,以便它在启动时自动运行。

使用以下命令启动 Jenkins:

sudo systemctl start jenkins

为确保 Jenkins 在启动时启动,请使用以下命令启用它:

sudo systemctl enable jenkins

你可以检查 Jenkins 的状态以确保它正在运行:

sudo systemctl status jenkins

你应该看到一个输出,指示 Jenkins 处于活动状态并正在运行。

第六步:调整防火墙

Jenkins 托管在端口 8080 上,这是默认端口。如果你的服务器具有内置防火墙,则必须允许此端口上的流量。为此,请运行以下命令:

对于 UFW(Uncomplicated Firewall)用户,允许端口 8080:

sudo ufw allow 8080
sudo ufw reload

如果你正在使用其他防火墙,例如 iptables,请确保它允许端口 8080 上的流量。

要验证 UFW 状态并确认 Jenkins 已通过防火墙,请运行以下命令:

sudo ufw status

第七步:访问 Jenkins Web 界面

Jenkins 现在已安装并在你的服务器上运行。要完成设置,你需要访问 Jenkins Web 界面。打开 Web 浏览器并输入你的服务器的 IP 地址,后跟端口 8080:

http://your-server-ip:8080

如果你在本地运行 Jenkins,请使用:

http://localhost:8080

第八步:配置 Jenkins

首次访问 Jenkins 时,它会要求提供初始管理密码。要检索此密码,请在终端中运行以下命令:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

你会看到一长串字符。复制此密码并将其粘贴到 Jenkins 设置屏幕中。

输入初始管理密码后,Jenkins 会将你带到 Customize Jenkins 页面。在这里,你将被要求安装插件。建议安装建议的插件以获取基本的 Jenkins 功能。

单击 Install suggested plugins 开始该过程。

Jenkins 将自动安装最常用的插件,这可能需要几分钟,具体取决于你的服务器速度。

第九步:创建第一个管理员用户

安装插件后,Jenkins 将提示你创建第一个管理员用户。填写如下所示的必填字段:

此帐户将用作 Jenkins 管理员用户。

创建用户后,单击 Save and Finish

你已成功在 Ubuntu 22.04 上安装了 Jenkins。

接下来,让我们使用 Jenkins 创建一个简单的管道。

使用 Jenkins 创建一个简单的管道

在 Jenkins 中创建你的第一个基本管道是开始自动化的好方法。Jenkins 管道将你的 CI/CD 流程的步骤定义为代码,这些代码可以进行版本控制并轻松重复使用。以下是使用 Jenkins 创建非常基本管道的分步指南。

在你的 Jenkins 仪表板上,单击 New Item

命名你的作业(例如,“Demo”),选择 Pipeline 作为项目类型,然后单击 OK

向下滚动到 Pipeline 部分。在 Definition 下拉列表中,选择 Pipeline script

在出现的文本框中,输入一个非常基本的管道脚本。这是一个简单的示例:

pipeline {agent anystages {stage('Build') {steps {echo 'Building...'}}stage('Test') {steps {echo 'Testing...'}}stage('Deploy') {steps {echo 'Deploying...'}}}
}

此管道的功能:

  • pipeline {}:定义整个管道。
  • agent any:在任何可用的 Jenkins 代理上运行管道。
  • stages {}:列出管道的阶段。
  • stage(‘Build’), stage(‘Test’), stage(‘Deploy’):定义构建、测试和部署的各个阶段。
  • steps {}:每个阶段中发生的实际操作(在本例中,是简单的 echo 语句)。

编写完管道脚本后,单击 Save。在作业的仪表板上,单击 Build Now 以运行管道。

你可以在左侧的 Build History 部分中查看进度。单击构建号以查看控制台输出并检查每个阶段的结果。

它将显示管道已成功执行。

构建完成后,单击构建号,然后单击 Pipeline StepsPipeline Graph

Jenkins 将以可视方式表示管道,显示每个阶段以及它是否通过或失败。

结论

在本指南中,我们逐步解释了如何在 Ubuntu 22.04 上安装 Jenkins。我们介绍了安装 Java、添加 Jenkins 存储库、安装 Jenkins 服务器以及启动 Jenkins 服务器。再次说明,从 Jenkins 的角度来看,现在我们已经启动并运行了它,你可以开始使用此 CI/CD 管道集成系统来自动化你的开发操作。

雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site


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

相关文章

Electron -- Electron Fiddle(一)

Electron Fiddle 是一个由 Electron 团队开发的开源工具,它允许开发者快速创建、运行和调试 Electron 应用。这个工具提供了一个简洁的界面,使用户无需配置复杂的开发环境,就能快速体验和学习 Electron。强烈建议将其安装为学习工具。 学习它…

基于 SOME/IP 的动态服务发现与调用:原理、实现与示例全解析

一、 SOME/IP 动态服务发现与调用例子代码 功能描述 服务发布程序: 提供两个远程服务,每个服务用唯一的 Service ID 和 Method ID 标识。根据客户端请求的 Service ID 和 Method ID 调用对应的处理函数。使用 Skeleton 实现服务的注册和响应。服务发现与调用程序: 动态发现…

WEB语义化的新探索:浅析LLMs.txt

【引】有人迷恋使用大模型生成各种有趣的内容, 有人沉醉于大模型相关技术的探索,没有对错,只在于你的乐趣所在。 一项名为 llms.txt 的新提案标志了一些非同寻常的东西的出现: 一个Web网站不仅为人类读者服务,而且为人工智能提供服…

计算机网络-应用层

应用层是咱们日常开发中,最常用到的一层 主要涉及到两种情况: 1.使用大佬们已经创建好的应用层协议(后面再讨论,应用层知名的协议有很多,其中的佼佼者就是 HTTP (后面会出单独的文章来讲解))2.自己定义应用…

【HarmonyOS之旅】HarmonyOS开发基础知识(二)

目录 1 -> 配置文件说明(Java) 1.1 -> 配置文件的内部结构 1.2 -> app对象的内部结构 1.3 -> deviceConfig对象的内部结构 1.4 -> module对象的内部结构 1.5 -> HAP与HAR的配置文件的合并 1.5.1 -> 配置文件合并规则 1.5.2 -> mergeRule对象的…

Docker安装与架构

1. 启动虚拟机 1.1 获取网关 首先Docker是通过yum来实现的所以我们首先需要先安装yum以及为他配置首先我们先使用虚拟机并复制他的网络IP下来: 前提是你的虚拟机需要连接上网络,这个不细说,可以看设置中的网络是否链接连接上: 1.2 安装MobarXterm并配置 然后使用工具: 链接…

基于阿里云日志服务的程序优化策略与实践

背景 我们的服务端程序日志现已全面迁移至阿里云,这一举措极大地便利了我们通过阿里云的日志工具来深入洞察接口的调用状况。 content是个json对象,request和path是content对象下的字段。我的需求是统计每个请求一分钟调用次数。以此为依据考虑优化的方…

阿里云 ECS 实例上升级 Docker 并使用多阶段构建

引言 Docker 是一个流行的容器化平台,它允许开发者打包他们的应用以及依赖所需的一切,并将其发布到任何运行 Docker 的地方。多阶段构建是 Docker 17.05 版本中引入的一个功能,它允许你在一个 Dockerfile 中使用多个 FROM 指令,以优化镜像的大小和构建过程。 在本文中,我…