大家好,我是十一。
前情回顾
上篇我们主要讲持续化集成的相关术语,我们先来回顾下前篇内容:
持续化集成:简称CI,指的是频繁地(一天多次)将个人研发的代码部分集成到主干,然后自动构建并进行单元测试的过程。目的是让产品可以快速迭代,同时还能保持高质量。
持续交付,简称CD,通常是指整个流程链,它自动监测源代码变更并通过构建、测试、打包和相关操作运行它们以生成可部署的版本。它的目标在于让软件的构建、测试与发布变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。
持续测试,是指在代码通过持续构建后执行的自动化测试的实践,包括单元测试,对自动化覆盖率要求较高。其目的一是保证每次发布的版本可以在生产环境上使用;二是快速发现问题并提醒开发团队。
持续部署,是指能够自动提供发布版本给最终用户,并且使其自动运行。最终目的是达到所有的交付成果都是“可部署的”。
上篇漏了一个概念,就是持续构建,在这里补上:
持续构建,是指持续的自动化构建,在持续集成基础之上,对每次集成后的代码打包编译打包的过程。
本篇内容
我们今天来看一款专业的持续化集成的工具-Jenkins。
Jenkins是什么?
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
--来自Jenkins官方文档,https://jenkins.io/zh/doc/
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放以用的软件平台,使软件的持续集成变成可能。
--来自百度百科
总结下我们:Jenkins就是一款开源的CI&CD工具,用于监控以及运作各种自动化任务,包括构建、测试和部署软件。要注意的是,Jenkins本身只是提供一个平台,真正做事情的是插件,它提供各种各样的插件供我们使用。Hudson是Jenkins的前身。
Jenkins特性
从上面的是什么中大家大概也都了解了Jenkins能做什么了,那为什么要用他呢?当然是他的强大的功能以及他的简单易用,这里我们看下官网的说法:
1.持续集成和持续交付
Jenkins是一款开源的持续化集成工具,支持CI&CD。
2.简易安装
Jenkins支持三种方式的安装,分别是:docker镜像、war包以及直接通过命令下载安装。
3.配置简单
Jenkins提供界面供用户配置和操作,支持中文,界面中几乎每个选项后都有帮助信息。
4.丰富的插件
上面有说到,Jenkins本身只提供一个平台,具体的运行还需要各种各样的插件来完成,目前他支持的插件已有1000多种。这些插件可以轻松让我们做到很多事情,比如传参,邮件通知,监控、构建、测试、部署等等。
5.扩展
支持插件扩展,我们可以在其上开发适合自己团队的插件。
6.分布式
轻松地在多台机器上分配工作,如此使得我们的工作效率呈指数增长。
日常CI&CD
之前我们一直在讲CI&CD,那他具体都能做到哪些事情呢?我们先来看下当下流行的软件过程:
我们通过Jenkins以及他强大的插件军团可以实现上面的流水线哦,具体如何工作大家自己先找找答案吧!
十一得吧得:
本片文章大部分内容来自Jenkins官网,这里给大家提供文献和链接,私下可以先做下工作哦!
Jenkins官网:https://jenkins.io/
Jenkins下载:http://updates.jenkins-ci.org/
Jenkins的全部镜像:http://mirrors.jenkins-ci.org/
怎么样?是不是已经感受到了他的强大?本篇就到这儿吧,后续篇章我们会陆续讲Jenkins的安装、启动、以及使用的,敬请期待呦~。我们下篇再见!Bye~
特别提醒:
我们在学怎么用之前还是应该先知道它是什么,为什么要用它。
上篇:《持续化集成-01》-讲述了持续化集成相关概念以及为什么要用持续化集成,