简介
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
后点击确定。
- 到此为止,我们的云服务器就远程连接上了。
如何在 Ubuntu 22.04 上安装 Jenkins
让我们从更新你的系统并安装必要的依赖项开始。
第一步:更新系统
在安装新软件之前更新你的系统软件包始终是一个明智的选择。打开终端并运行以下命令:
sudo apt update
sudo apt upgrade
它会更新你系统上使用的软件包索引。它会知道有哪些软件包及其版本,然后安装所有已安装的新版本。
第二步:安装 Java
第二步是在你的 Ubuntu 服务器上安装 Java,因为 Jenkins 需要它才能运行。Jenkins 官方支持 Java 11 和 Java 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 Steps 或 Pipeline Graph。
Jenkins 将以可视方式表示管道,显示每个阶段以及它是否通过或失败。
结论
在本指南中,我们逐步解释了如何在 Ubuntu 22.04 上安装 Jenkins。我们介绍了安装 Java、添加 Jenkins 存储库、安装 Jenkins 服务器以及启动 Jenkins 服务器。再次说明,从 Jenkins 的角度来看,现在我们已经启动并运行了它,你可以开始使用此 CI/CD 管道集成系统来自动化你的开发操作。
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site