高效率团队为啥都会选择Jenkins?一文带您了解Jenkins

举报
wljslmz 发表于 2022/09/06 22:46:45 2022/09/06
【摘要】 你好,这里是网络技术联盟站。相信不管是做开发还是测试的朋友,对于Jenkins应该很熟悉,即使你用的是其他相同功能的的工具,听总归听过吧,那么你知道Jenkins的架构是什么样子吗?它的优势在哪?本文瑞哥就带着大家好好了解一下Jenkins这个强大的工具。让我们直接开始! 什么是Jenkins?Jenkins是一个用Java编写的开源自动化工具,用于持续集成,集成了所有类型的开发生命周期流程...

你好,这里是网络技术联盟站。

相信不管是做开发还是测试的朋友,对于Jenkins应该很熟悉,即使你用的是其他相同功能的的工具,听总归听过吧,那么你知道Jenkins的架构是什么样子吗?它的优势在哪?本文瑞哥就带着大家好好了解一下Jenkins这个强大的工具。

让我们直接开始!

什么是Jenkins?

Jenkins是一个用Java编写的开源自动化工具,用于持续集成,集成了所有类型的开发生命周期流程,包括构建、文档、测试、打包、阶段、部署、静态分析等。

Jenkins拥有超过 1000 个插件,可以轻松配置和自定义任何项目,因为其开源性质,所以一分钱也不收,对绝大数公司来说,Jenkins绝对是一个特别香的工具。

什么是持续集成?

持续集成是DevOps中最重要的部分之一,用于将 DevOps 的各个阶段集成在一起,可以使得开发团队能够非常频繁地对代码和版本控制方法进行小幅更改,持续集成通常以所有开发人员每天多次将代码推送到共享存储库的形式完成。它非常适合应该在不同平台上使用多种工具进行编码和开发的项目。

为什么需要选择Jenkins?

想象一下没有Jenkins的时候,一个软件项目从初期到交付是什么样的。

开发人员首先完成代码开发、测试,然后检查错误,一般来说团队中的开发人员倾向于独立工作,每个人都会写大段代码添加到项目中,那么对于这个整体项目而言,检查项目整体的代码错误就显得非常繁琐而庞大。

并且多个开发人员将各自的开发分支向版本控制发送提交,也会增加许多时间,迭代代码速度非常缓慢,这样就会直接影响软件交付的完成率。

所以急需持续集成进行介入提高效率,而Jenkins就是其中一种。

Kohsuke Kawaguchi 于 2004 年在 Sun Microsystems 工作时首次开发了Hudson,当甲骨文在 2010 年收购 Sun Microsystems 时,甲骨文和Hudson社区之间就使用的基础架构发生了争执,2011 年 1 月 29 日,有人呼吁将项目名称从 Hudson 更改为 Jenkins,并在 2011 年 1 月 29 日获得了 Hudson 社区的压倒性批准,从而创建了第一个“Jenkins”项目。

Jenkins架构

以单个Jenkins服务为例,Jenkins工作过程一般为:

  1. 开发者从代码仓库拉代码
  2. 开发者本地开发后将代码推送到代码仓库
  3. Jenkins对开发者更新的代码进行编译、检查,一旦发生错误会立即通知开发者。

Jenkins工作流程

Jenkins集群架构

如下图所示,Jenkins集群包含了一个主节点,三个从节点。

Jenkins集群架构

主从单元使用 IP/TCP 协议相互通信,下面我们来介绍一下Jenkins主从节点:

Jenkins主节点

Jenkins 主节点负责处理许多任务,包括但不限于调度构建作业、记录和呈现构建结果、将构建分派给从属服务器执行、离线和在线监控所有从属服务器等,Jenkins主节点可以直接执行构建作业。

Jenkins从节点

Jenkins从节点一般在远程服务器上运行,遵循 Jenkins master 的请求,兼容所有操作系统,主要负责执行 Master 分派的构建作业。

Jenkins优点

  • 免费开源,可以在任何支持Java虚拟机 (JVM) 的操作系统上运行,包括 Windows、Linux、Mac OS X 和 Solaris。
  • 可通过大量现有插件进行高度扩展,灵活性比较高。
  • 易于配置、扩展和修改,允许即时生成测试以及在不同平台上构建、自动化和部署代码。
  • Jenkins拥有广泛的知识库、丰富的文档和丰富的社区资源,这些资源使 Jenkins 安装的安装、管理和故障排除变得更加容易。

Jenkins相关网站

1、Jenkins官网

https://www.jenkins.io/

Jenkins官网

2、Jenkins github

https://github.com/jenkinsci/jenkins

总结

总的来说,Jenkins 提供了一种简单的方法来设置 CI/CD 环境,广泛应用于作业运行批处理操作、应用程序和基础设施代码的持续集成、运行临时操作,如备份、清理、远程等。

本文精简的介绍了Jenkins的基本介绍、工作流程、架构、优势等,希望本文对您有所帮助,最后感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞👍、收藏⭐哦!有任何问题,欢迎在下方评论区与我讨论!!!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。