Javatpoint标志
Javatpoint标志

詹金斯教程

詹金斯教程

Jenkins教程是专为初学者和专业人士设计的。我们的教程提供了詹金斯的所有基本和高级概念,如詹金斯安装,詹金斯配置,詹金斯管道等。

Jenkins是一个用Java编程语言编写的开源自动化工具,它允许持续集成。

Jenkins构建并测试我们的软件项目,这不断地使开发人员更容易将更改集成到项目中,并使用户更容易获得新的构建。

詹金斯是什么?

Jenkins是一个用Java编程语言编写的开源自动化工具,它允许持续集成。

詹金斯构建而且测试我们的软件项目不断地使开发人员更容易地集成项目中的更改,并使用户更容易地获得新的构建。

它还允许我们连续地交付我们的软件通过集成大量的测试和部署技术。

Jenkins提供了一种直接的方法,可以使用管道为几乎任何语言和源代码存储库的组合设置持续集成或持续交付环境,以及自动化其他常规开发任务。

在Jenkins的帮助下,组织可以通过自动化来加快软件开发过程。Jenkins添加了各种类型的开发生命周期流程,包括构建、文档、测试、打包、阶段、部署静态分析等等。

Jenkins在插件的帮助下实现了CI (Continuous Integration)。插件用于集成不同的DevOps阶段。如果您想集成一个特定的工具,您必须为该工具安装插件。例如:Maven 2项目,Git, HTML Publisher, Amazon EC2等。

例如:如果任何组织正在开发一个项目,那么詹金斯将不断测试您的项目构建,并在开发的早期阶段向您显示错误。

Jenkins可能执行的步骤如下:

  • 使用像Gradle或Maven Apache这样的构建系统执行软件构建
  • 执行shell脚本
  • 将构建结果存档
  • 运行软件测试

工作流程:

詹金斯是什么

詹金斯的历史

Kohsuke Kawaguchi是一名Java开发人员,在SUN微系统公司工作,他厌倦了不断地构建代码和修复错误。2004年,他创建了一个自动化服务器哈德逊自动化构建和测试任务。

2011年,拥有Sun Microsystems的Oracle公司与Hudson开源社区发生了纠纷,因此他们将Hudson分岔,并将其更名为詹金斯

哈德逊和詹金斯都继续独立运营。但在很短的时间内,Jenkins获得了大量的贡献者和项目,而Hudson仍然只有32个项目。然后随着时间的推移,詹金斯变得更受欢迎,哈德森不再保持。

什么是持续集成?

持续集成(CI)是一种开发实践,其中需要开发人员定期向共享存储库中的源代码提交更改。然后构建存储库中的每个提交。这允许开发团队尽早发现问题。

持续集成要求开发人员有定期的构建。一般的实践是,只要发生代码提交,就应该触发构建。

与Jenkins的持续集成

让我们考虑这样一个场景:构建应用程序的完整源代码,然后将其部署到测试服务器上进行测试。这听起来是个完美的方法开发软件,但这个过程有很多问题。

  • 开发团队必须等待,直到完整的软件开发出测试结果。
  • 测试结果很有可能显示出多个错误。开发人员很难定位这些错误,因为他们必须检查应用程序的整个源代码。
  • 它减慢了软件交付过程。
  • 关于架构或编码问题、构建失败、测试状态和文件发布上传等问题的持续反馈可能会导致软件质量下降。
  • 整个过程是手动的,这增加了频繁失败的威胁。

从上述问题可以明显看出,不仅软件交付过程变慢了,软件的质量也下降了。这会导致客户的不满。

因此,为了克服这样的问题,需要有这样一个系统,让开发人员可以持续地触发构建,并对源代码中的每一个更改进行测试。

这就是持续集成(CI)的意义所在。Jenkins是可用的最成熟的持续集成工具,所以让我们看看使用Jenkins的持续集成是如何克服上述缺点的。

让我们看看Jenkins持续集成的通用流程图:

詹金斯是什么

让我们看看詹金斯是怎么工作的.上图表示以下函数:

  • 首先,开发人员将代码提交到源代码存储库。同时,Jenkins定期检查存储库中的更改。
  • 提交发生后不久,Jenkins服务器就会发现源代码存储库中发生的更改。Jenkins将绘制这些更改,并开始准备一个新的构建。
  • 如果构建失败,则会通知相关团队。
  • 如果构建成功,那么Jenkins服务器将部署测试服务器中的构建。
  • 在测试之后,Jenkins服务器生成一个反馈,然后将构建和测试结果通知开发人员。
  • 它将继续验证源代码库中所做的更改,整个过程将不断重复。

使用Jenkins的利与弊

詹金斯的优点

  • 它是一个开源工具。
  • 这是免费的。
  • 它不需要额外的安装或组件。意味着它很容易安装。
  • 很容易配置。
  • 它支持1000个或更多的插件,以简化您的工作。如果一个插件不存在,你可以为它写脚本并与社区分享。
  • 它是用java构建的,因此是可移植的。
  • 它是平台独立的。它适用于所有平台和不同的操作系统。像OS X, Windows或Linux。
  • 易于支持,因为它是开源的,应用广泛。
  • Jenkins还支持基于云的架构,因此我们可以在基于云的平台上部署Jenkins。

詹金斯的缺点

  • 与当前的用户界面趋势相比,它的界面已经过时,不太友好。
  • 维护它并不容易,因为它运行在服务器上,需要一些服务器管理员的技能来监视它的活动。
  • 由于一些小的设置变化,CI经常中断。CI将被暂停,因此需要一些开发人员团队的注意。

詹金斯架构

Jenkins遵循主从架构来管理分布式构建。在该体系结构中,从机和主机之间通过TCP/IP协议进行通信。

Jenkins架构有两个组成部分:

  • 詹金斯主/服务器
  • 詹金斯奴隶/节点/构建服务器
詹金斯是什么

詹金斯的主人

Jenkins的主服务器是Jenkins Master。这是一个网络仪表盘,什么都不是,但动力来自一个战争文件。默认情况下,它运行在8080端口上。在Dashboard的帮助下,我们可以配置作业/项目,但是构建发生在Nodes/Slave中。默认情况下,在Jenkins服务器中配置并运行一个节点(从)。我们可以使用ssh、jnlp或webstart方法通过IP地址、用户名和密码添加更多的节点。

服务器的工作或主人的工作是处理:

  • 调度建设工作。
  • 为实际执行将构建分发到节点/从。
  • 监视节点/从(可能根据需要使它们联机或脱机)。
  • 记录和呈现构建结果。
  • Jenkins的主/服务器实例也可以直接执行构建作业。

詹金斯的奴隶

Jenkins从服务器用于执行由主服务器分派的构建作业。我们可以将项目配置为始终在特定的从属机或特定类型的从属机上运行,或者简单地让Jenkins选择下一个可用的从属/节点。

正如我们所知,Jenkins是使用Java开发的,是平台独立的,因此Jenkins的主/服务器和从/节点可以在任何服务器上配置,包括Linux, Windows和Mac。

詹金斯是什么

上图是不言自明的。它由一个Jenkins Master组成,它管理着三个Jenkins Slaves。

先决条件

在学习Jenkins之前,您应该对测试和Java有一个基本的了解。

观众

我们的詹金斯教程旨在帮助初学者和专业人士。

问题

我们保证您不会发现Jenkins教程的任何问题。但如果有任何错误,请将问题贴在联系表格上。


下一个话题 在Windows上安装Jenkins





Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新的教程


准备


热门的技术


B.Tech / MCA






Baidu
map