Jenkins是什么?

DevOps Jenkins评论3,2081字数 1882阅读6分16秒阅读模式

Jenkins是什么?我们先来以初学者的角度来简单的介绍下Jenkins。然后讲解Jenkins的应用场景以及Jenkins的特点。如果你已经了解Jenkins,那么你可以选择性的跳过本次的章节。

Jenkins是什么?

1.1 Jenkins简介

本小节主要讲解Jenkins的简介、应用场景、特点。通过以上内容让大家对Jenkins有个初步的认识。

Jenkins是什么?

Jenkins是企业里面应用最广的、开源的持续集成系统。在企业里面不管是中小型企业还是大型企业,甚至有一些专门做DevOps的厂商也在基于Jenkins来做CI/CD平台。Jenkins是开源免费的,用java语言开发的CI/CD系统。可以用Jenkins来做CI也可以用来做CD。Jenkins本质上是用来做任务的编排和可视化的一套工具。

以上是对Jenkins的介绍,那关于Jenkins的安装是支持跨平台的。可以在windows、Linux以及mac os上面部署和运行

Jenkins的另外一个特点(也是存在缺陷的地方),功能比较齐全是因为有丰富的插件库。基本上有1-2千个可以使用的插件。这些插件对可以无限的去扩展Jenkins一些功能

尽量少安装一些没用的插件,如果插件过多没有更新管理。当在Jenkins更新的时候可能会因为插件的原因导致

Jenkins启动不了。刚开始咱们学的时候就要把习惯养好,不要装太多没用的插件。

回想18年的时候我们还在大量使用自由风格(freestyle)类型的项目,并没有使用Pipeline特性。 而目前Jenkins大量应用Pipeline类型的项目来进行作业构建。Pipeline类型的项目是可以通过代码进行描述的。可以通过Pipeline+Groovy对Jenkins延伸扩展,例如可以直接导入Groovy的package对Jenkins Pipeline扩展。所以使用这种模式我们将不再关心有没有实现哪些功能插件了,而是直接编写特性代码来实现功能。

这里只是给大家点一下,Pipeline语法部分后面我们会详细的去讲解。现在了解下即可。

1.2 Jenkins的应用场景

Jenkins是什么?

其实在分享Jenkins的具体应用场景时,不能只从运维或者开发的角度去讲,而应该是从不同的角度。例如:谁在用Jenkins。

对于运维同学, 一直在使用Jenkins。使用Jenkins来对管理运维相关的任务。for example, 清理一下镜像仓库里面的垃圾镜像,那准备写了个脚本,跑一下就清理完了。可以将脚本集成到Jenkins, 编写Jenkins Pipeline在流水线里面去运行脚本。 还可以通过参数化构建进行参数传递。

手动在机器上面或者通过Jenkins运行的脚本内容都是一样的,但是jenkins可以按照不同的阶段运行并将日志和运行的进度可视化的展示出来。

对于开发同学, 每天都要提代码。例如: 代码提到版本控制系统之后,能够自动的去跑一些对提交代码验证的任务。没有Jenkins之前通过编写脚本结合Crontab定时任务来定期轮询版本控制系统。 有了Jenkins之后可以开启构建触发器轻松实现系统之间的集成。

对于测试同学,一般都会写一些测试用例。 没有Jenkins之前在本机上面通过命令行直接去运行。有了Jenkins之后可以将代码存储到版本控制系统然后通过Jenkins自动化地运行测试用例。还可以通过一些现有的工具对测试结果进行分析。

Jenkins就是一个中间人的角色, 如果你有一个脚本需要由Jenkins来运行。其实Jenkins启动一个shell来执行脚本。大概率出现的问题都是脚本的自身原因导致的而并非是Jenkins的执行错误。

例如: Jenkins集成maven进行构建和打包,出现编译失败的错误就需要找开发同学查看代码了。这一块之前本人是踩到坑踩的比较多了,这点经验还是告诉大家。

那除了上面描述的场景外,其实还有很多场景。可以这样认为: 你想要自动化的一些东西,都可以通过Jenkins来帮你去完成。

1.3 Jenkins的特点

Jenkins是什么?

Jenkins的特点:开源免费、安装简单。主从的分布式架构,分为Server和Agent。 Server主要是负责作业调度,Agent是Pipeline真正运行的节点。 (此处类似于Kubernetes的架构,尽量不要在主控节点运行任务)

可视化的管理页面:通过UI管理页面对Jenkins系统进行配置管理。 BlueOcean更加简洁和漂亮的UI页面。

Jenkins2.0核心特性:Pipeline As Code,以代码的方式描述流水线作业。特别适合大规模下的流水线复用,即多条流水线使用相同一套流水线模板。

继续阅读
DevOps
  • 本文由 发表于 2022年9月3日 21:05:52
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Jenkins 2.346.3安装部署 Jenkins

Jenkins 2.346.3安装部署

长期支持版本 每 12 周从常规版本流中选择一个LTS(长期支持)版本作为该时间段的稳定版本。它可以从redhat-stableyum 存储库安装。 Centos7.9安装Jenk...
评论  0  访客  0

发表评论