Jenkins介绍

一. CI/CD介绍

互联网软件的开发和发布,已经形成了一套标准流程,假如把开发工作流程分为以下几个阶段:

编码 --> 构建 --> 集成 --> 测试 --> 交付 --> 部署

Jenkins介绍_第1张图片

可以发现持续集成Continuous Integration 持续交付Continuous Delivery 和持续部署 Continuous Deployment有不同的软件自动化交付周期

持续集成(CI)

整个流程中最重要的部分就是持续集成 Continuous integration 简称CI

持续集成是指 频繁的将代码集成到主干,将软件个人研发的部分向软件整体部分交付,频繁的进行集成可以更加快速的发现其中的错误。

好处有两个

1.快速发现错误,每完成一点更新就集成到主干,可以快速发现错误。定位错误也比较容易

2.防止分支大幅偏离主干,如果不是经常集成,主干又在不停的更新,会导致以后集成的难度变大,甚至难以集成

持续集成的目的是使产品快速迭代,同时能保证高质量

持续交付(CD)

持续交付指的是在持续集成的基础上,频繁的将软件新版本交付给质量团队或者用户,以供评审,如果评审通过,代码就进入生产阶段。

二.Jenkins介绍

概念:

Jenkins是一个开源的,可扩展的持续集成,交付,部署的基于web界面的平台,允许持续集成和持续交付项目,无论用什么平台,可以处理任何类型的构建和持续集成。

开源的java语言开发持续集成工具,支持CI,CD;

易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;

消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;

分布式构建:支持Jenkins能够让多台计算机一起构建/测试;

文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等; 

丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。

特性:

易于安装

不需要安装、不需要数据库,只需通过java -jar jenkins.war或部署到一个servlet容器中
易于配置

所有的配置都可能通过jenkins提供的web界面完成,当然如果你喜欢,也可以通过手动修改xml文件进行配置
生成JUnit或TestNG的测试报告

文件识别

jenkins能跟踪每次构建生成哪些jar包以及使用哪个版本的jar包
分布式构建

插件支持

jenkins可以通过第三方插件扩展,也可以根据团队需要开发插件

 

你可能感兴趣的:(笔记,Jenkins)