一、概念
互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(简称CI)。
1、持续集成(采蜜)
持续集成:频繁的将代码集成到主干。
好处:
1)、快速发现错误
2)、防止分支大幅偏离主干。
2、持续交付
持续交付:频繁的将软件的新版本,交给测试,代码通过后,代码就进入生产阶段。
3.持续部署
持续部署:代码通过评审以后,主动部署到生产环境。
目标:代码在任何时刻都是可部署的,可以进入生产阶段。
前提:能自动化完成测试、构建、部署等步骤。
二、Jenkins介绍
1、Jenkins概述
Jenkins是一个开源软件项目,是基于java开发的一种可开拓展持续集成工具,主要用于持续、自动地构建/测试/集成软件项目以及监控一些定时执行的任务。
2、Jenkins目的
1、持续、自动地构建/测试软件项目。
2、监控软件开发流程,快速问题定位及处理,提示开放效率。
3、特性
易于安装,只要把jenkins.war部署到Tomcat即可运行
易于配置,所有配置都是通过其提供的web界面实现
集成RSS/E-mail,通过RSS发布构建结果或当构建完成时通过e-mail通知
生成JUnit/TestNG测试报告
分布式构建,支持Jenkins能够让多台计算机一起构建/测试
插件支持,支持扩展插入,可以开发适合自己团队使用的工具。
4、产品发布流程
产品设计成型→开发人员开发代码→测试人员测试功能→运维人员发布上线