一、什么是持续集成
通过持续集成, 团队可以快速的从一个功能到另一个功能,简而言之,敏捷软件开发很大一部分都要归功于持续集成。
根据持续集成的设计,代码从提交到生产,整个过程有以下几步。
二、持续集成的组成要素
三、持续集成的好处
1、降低风险,由于持续集成不断去构建,编译和测试,可以很早期发现问题,所以修复的代价就少;
2、对系统健康持续检查,减少发布风险带来的问题;
3、减少重复性工作;
4、持续部署,提供可部署单元包;
5、持续交付可供使用的版本;
6、增强团队信心;
四、Jenkins介绍
Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。官网:http://jenkins-ci.org/。
Jenkins的特征:
(1)开源的Java语言开发持续集成工具,支持持续集成,持续部署。
(2)易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。
(3)消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。
(4)分布式构建:支持Jenkins能够让多台计算机一起构建/测试。
(5)文件识别:Jenkins能够跟踪哪次构建生成哪些文件,哪次构建使用哪个版本的文件等。
(6)丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,pipeline,docker等。
五、Jenkins安装和持续集成环境配置
持续集成流程说明
1)首先,开发人员每天进行代码提交,提交到Git仓库。
2)然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合SDK,JDK,Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程。
3)最后,Jenkins把生成的dll、 jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用。