前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Jenkins教程

Jenkins教程

原创
作者头像
花落花相惜
修改于 2021-11-22 06:21:34
修改于 2021-11-22 06:21:34
1.6K0
举报

Jenkins 架构

让我们修改一下我在上一个博客中向您解释的独立 Jenkins 架构,下图描绘了相同的架构。

image

单台 Jenkins 服务器不足以满足某些要求,例如:

  • 有时您可能需要几个不同的环境来测试您的构建。单个 Jenkins 服务器无法完成此操作。
  • 如果定期构建更大、更重的项目,则单个 Jenkins 服务器将无法简单地处理整个负载。undefined为了满足上述需求,引入了 Jenkins 分布式架构。

Jenkins 分布式架构

Jenkins使用主从架构管理分布式构建。在这种架构中,主站和从站通过 TCP / IP 协议进行通信。

Jenkins 主节点

您的主要 Jenkins 服务器是主节点。主节点的工作是处理:

  • 调度构建作业。
  • 将构建分派给实际执行的从节点。
  • 监视从节点(可能根据需要使它们联机和脱机)。
  • 记录并显示构建结果。
  • Jenkins 的主节点也可以直接执行构建作业。

Jenkins 从节点

从节点是在远程计算机上运行的 Java 可执行文件。以下是 Jenkins 从节点的特点:

  • 接收来自 Jenkins 主接点的请求。
  • 从节点可以在各种操作系统上运行。
  • 从节点的工作就是按照命令执行,包括执行主节点分配的构建作业。
  • 您可以将项目配置为始终在特定的从节点或特定类型的从节点上运行,或者仅让 Jenkins 选择下一个可用的从节点。undefined下图是不言自明的。它由一个 Jenkins 主节点管理三个 Jenkins 从节点。

image

现在,让我们看一个示例,其中 Jenkins 用于在不同的环境中进行测试,例如:Ubuntu、MAC、Windows等。

如下图所示:

image

上图中执行以下功能:

  • Jenkins 会定期检查 Git 存储库中是否有任何源代码更改。
  • 每个构建都需要不同的测试环境,这对于单个Jenkins服务器是不可能的。为了在不同的环境中执行测试,Jenkins 使用了各种从节点,如图所示。
  • Jenkins 主节点要求这些从节点执行测试并生成测试报告。

Jenkins 构建管道

它用于了解 Jenkins

当前正在执行的任务。通常,几位开发人员会同时进行几项不同的更改,因此了解哪些更改正在测试中,哪些更改正在排队中或哪些构建已损坏是很有用的。这是管道出现的地方。Jenkins

管道为您提供了测试范围的概述。在构建管道中,整个构建被细分为多个部分,例如单元测试验收测试、打包、报告和部署阶段。管道阶段可以串行或并行执行,如果一个阶段成功,它将自动移至下一个阶段(因此具有“管道”名称的相关性)。下图显示了多个构建管道的外观。

image

希望你已经理解了理论概念。现在,让我们来体验一下动手的乐趣。

我将在 Jenkins 创建一个新作业,这是一个 自由式项目 。然而,还有 3 个可用选项。让我们看一下 Jenkins 中可用的构建作业的类型。

自由式项目:

自由式构建作业是通用构建作业,它提供了最大的灵活性。自由式构建作业是最灵活和可配置的选项,可用于任何类型的项目。设置相对简单,我们在此处配置的许多选项也出现在其他构建作业中。

多配置作业:

“多配置项目”(也称为“矩阵项目”)允许您在不同的环境上运行相同的构建作业。它用于在不同环境、不同数据库甚至不同构建机器上测试应用程序。

监视外部作业:

通过“监视外部作业”构建作业,您可以关注非交互式流程,例如 cron 作业。

Maven 项目:

“ maven2/3 项目”是专门适应 Maven 项目的构建工作。Jenkins 理解 Maven pom 文件和项目结构,并且可以使用从 pom

文件中收集的信息来减少设置项目所需的工作。

使用 Jenkins 创建一个构建

第 1 步: 在 Jenkins 界面主页中,选择 New Item

image

第 2 步: 输入名称并选择 Freestyle project

image

第 3 步:

在下一页中,您可以指定作业配置。您会很快发现,创建新项目时有许多可用设置。在这个配置页面上,您还可以选择添加构建步骤来执行额外的操作,例如运行脚本。我将执行一个

shell 脚本。

image

这将为您提供一个文本框,您可以在其中添加所需的任何命令。您可以使用脚本来运行各种任务,例如服务器维护、版本控制、读取系统设置等。我将使用它来运行简单的脚本。

image

第 4 步: 保存项目,您将进入项目概述页面。在这里,您可以查看有关项目的信息,包括其构建历史。

image

第 5 步: 点击左侧的 立即构建 开始构建。

image

第 6 步: 要查看更多信息,请在构建历史记录区域中单击该构建,随后您将进入带有构建信息概述的页面。

image

第 7 步: 控制台输出 链接页面对于详细检查作业结果特别有用。

image

第 8 步: 如果您回到 Jenkins 主页面,您将看到所有项目的概述及其信息,包括状态。

image

生成状态通过两种方式表示,一种是天气图标,另一种是彩色球。 天气图标特别有用,因为它可以在一张图像中显示多个版本的记录。

如上图所示,太阳代表着我的所有建造都是成功的。 球的颜色为我们提供了该特定构建的状态,在上图中,球的颜色为蓝色,这表示该特定构建成功了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
『Jenkins』Jenkins的Master-Agent架构详解
在现代软件开发中,持续集成(CI)和持续交付(CD)已成为提高开发效率、增强软件质量和加快部署周期的关键实践。而Jenkins作为最流行的开源自动化工具之一,已经成为CI/CD流程的核心工具。它支持自动化构建、测试和部署,并能够通过插件与多个版本控制系统、构建工具和通知系统集成。
数字扫地僧
2025/01/27
1920
17 Jenkins 入门
本文我们将开始来学习 Jenkins。Jenkins 是一个流行的开源的自动化服务器。Jenkins 广泛用于持续集成和持续交付(CI/CD)管道,是 DevOps 中必备的工具。
Lemon黄
2023/12/26
2180
17 Jenkins 入门
成功实施 DevOps 的7个有力工具
随着公司业务的不断迅速增长,使得管理复杂的IT基础设施需求变得更为艰难。解决应对这一复杂变幻的挑战的最佳方法是让开发团队和运维团队紧密协作,实现灵活应对。拥有一个DevOps专家团队可以实现在最少时间服务中断的情况下实现IT基础设施的动态伸缩。
DevOps时代
2019/10/21
9270
锅总详解Jenkins应用
Jenkins架构是怎样的?Jenkins用了哪些调度设计?Jenkins调度最佳实践有哪些?如何写一个Go或Java项目的管道?Jenkins的声明式与脚本化流水线有哪些内容?Jenkins发展历史是怎样的?希望本文能给到您答案!
锅总
2024/08/14
3950
锅总详解Jenkins应用
18 Jenkins 自由风格项目
容器本文我将将深入研究 Jenkins 自由风格项目,并探索在 DevOps 中如何利用它们来自动化 CI/CD 流程。我们还将了解 CI/CD、构建作业和自由风格项目的概念。
Lemon黄
2024/01/02
2460
18 Jenkins 自由风格项目
DevSecOps 管道: 使用Jenkins自动化CI/CD管道以实现安全的多语言应用程序
DevSecOps 流程 先决条件: 1) Git 2) Jenkins 3) Sonar-Scanner 4) Snyk 5) Java、Maven、Node.js、Python 等(您为项目选择的语言将取决于适用的安装要求。 6) Docker 7) Aqua Trivy 8) Kubernetes 9) Zaproxy
DevOps云学堂
2023/11/29
9350
DevSecOps 管道: 使用Jenkins自动化CI/CD管道以实现安全的多语言应用程序
jenkins pipeline全面介绍
前篇博文我们实践了jenkins pipeline的脚本模式,体验到了pipeline的流式构建流程,以及通过bule  ocean更清晰的展示了构建的全过程,下面我们就jenkins pipeline相关内容做个全面的了解。
kl博主
2023/11/18
4100
jenkins pipeline全面介绍
『Jenkins』使用Jenkins Pipeline脚本详解与实例
Jenkins作为一种广泛使用的CI/CD工具,为开发团队提供了强大的自动化功能,其中Jenkins Pipeline是一项至关重要的特性。通过Pipeline脚本,开发者可以定义复杂的构建、测试、部署流程,并实现自动化管理。
数字扫地僧
2025/01/20
3350
在 Kubernetes 上使用 Spinnaker 构建部署流水线
Spinnaker 是一种持续交付平台,最初由 Netflix 开发,用于快速、可靠地发布软件更改。Spinnaker 使开发人员可以更轻松地专注于编写代码,而无需担心底层的云基础设施。它与 Jenkins 以及其他流行的构建工具无缝集成。
我是阳明
2021/06/25
3.2K0
在 Kubernetes 上使用 Spinnaker 构建部署流水线
『Jenkins』使用Jenkins实现持续集成与持续交付
持续集成(Continuous Integration,CI)是指开发人员频繁地将代码合并到主干,并通过自动化构建和自动化测试来验证代码的正确性。CI的主要目的是:
数字扫地僧
2025/01/19
2620
『Jenkins』使用Jenkins实现自动化测试
假设我们在一家软件开发公司工作,开发一个基于Java的Web应用。在开发过程中,我们采用自动化测试方法来验证代码的功能性和稳定性。为了能够快速地捕捉到可能出现的问题,我们决定使用Jenkins作为持续集成工具,配合JUnit进行单元测试,并结合Selenium进行端到端的自动化测试。
数字扫地僧
2025/01/25
2150
JenkinsPipeline插件的十大最佳实践
Jenkins是卓越的自动化工具之一。Jenkins可通过使用插件进行设计扩展。插件使Jenkins拥有极大的灵活性,可以在各种平台上自动执行各种流程。Jenkins Pipeline建立在这种灵活性和丰富的插件生态系统的基础上,同时使Jenkins用户能够将其Jenkins自动化代码编写。
DevOps云学堂
2020/02/11
4.2K0
2021年排名前85的DevOps面试问答
您的答案必须简单明了。首先说明一下DevOps在IT行业中的重要性。讨论这种方法如何旨在使开发和运营团队共同努力,以最小的故障率加速软件产品的交付。包括DevOps如何成为增值实践,开发和运维工程师在整个产品或服务生命周期中(从设计阶段到部署点)携手合作。
学一学大数据
2021/04/22
6.9K0
2021年排名前85的DevOps面试问答
研发协同平台持续集成之Jenkins实践
研发协同平台有两个核心目标,一是提高研发效率 ,二是提高研发质量,要实现这两个核心目标,实现持续集成是关键之一。
我思故我在
2020/02/25
1.8K0
研发协同平台持续集成之Jenkins实践
CI&CD夺命十三剑5-Jenkins分布式环境搭建及多节点运行
在前面一篇《Jenkins环境搭建&常见使用技巧》中,我们介绍了Jenkins的架构原理:
大刚测试开发实战
2023/08/29
2.2K0
CI&CD夺命十三剑5-Jenkins分布式环境搭建及多节点运行
Jenkins概念及安装配置教程(四)
Jenkins 中的管道是一组按特定顺序相互关联的作业(或事件)。Jenkins Pipeline 是一组或一套插件,为将持续交付管道实施和集成到 Jenkins 中提供支持。
用户4235284
2023/10/14
3680
Jenkins概念及安装配置教程(四)
TeamCity VS Jenkins:选择正确的CI / CD工具
每个软件开发周期都涉及三个主要阶段:构建,测试和部署。这三个阶段中的任何一个滞后都会导致产品发布的延迟。为了避免此类延迟,组织依靠CI / CD工具来自动化这些过程。但是最近,随着对CI / CD工具的快速需求,选择泛滥,选择正确的工具可能是艰巨的任务!
用户7466307
2020/07/20
7.4K0
【11】进大厂必须掌握的面试题-持续集成面试
我将建议您通过对持续集成(CI)进行小的定义来开始此答案。这是一种开发实践,要求开发人员每天多次将代码集成到共享存储库中。然后,每个签入均由自动构建进行验证,从而使团队能够及早发现问题。 我建议您说明您在上一份工作中是如何实施的。您可以参考以下给出的示例:
Java架构师必看
2021/03/22
1.5K0
【11】进大厂必须掌握的面试题-持续集成面试
基于 Jenkins 在 Kubernetes 上配置 CI/CD
软件行业正迅速看到使用容器作为一种为应用程序开发人员促进开发,部署和环境编排的方法的价值。这是因为容器可有效管理环境差异,提高可伸缩性并提供可预测性,以支持新功能的持续交付(CD)。除了技术优势外,容器还被证明可以大大降低复杂环境的成本模型。
DevOps时代
2021/05/31
2.3K0
基于 Kubernetes,Helm 及 Jenkins 实现弹性 CI/CD
让我们在 Kubernetes 上创建一个CI/CD(持续集成和持续部署)解决方案,使用 Jenkins 作为构建工具,并使用 Traefik 作为用于灵活应用程序部署和路由的入口。
DevOps时代
2020/09/24
5.2K0
基于 Kubernetes,Helm 及 Jenkins 实现弹性 CI/CD
相关推荐
『Jenkins』Jenkins的Master-Agent架构详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档