概念
互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成
持续集成
指的是频繁地将代码集成到主干
好处
快速发现错误,每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易
防止分支大幅度偏离主干,如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成
持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施 ,代码集成到主干之前,必须通过自动化测试,只要有一个测试用例失败,就不能集成
持续交付
持续交付指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供 评审,如果评审通过,代码就进入生产阶级。
持续部署
持续部署是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境
持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶级
持续部署的前提是能自动化完成测试、构建、部署等步骤
Jenkins介绍
Jenkins概念:
Jenkins是一个开源软件项目,是基于 Java开发的一种可拓展持续集成工具,主要用于持续、自动地构建、测试、集成软件项目以及监控一些定时执行的任务
目的
持续、自动地构建、测试软件项目
监控软件开放流程、快速问题定位及处理,提示开放效率
特性
易于安装,只要把Jenkins包部署到Tomcat中webapps中即可运行
易于配置,所有配置都是通过其提供的web界面实现
集成RSS/E -mail,通过RSS发布构建结果或当构建完成时通过e-mail通知
生成Junit / TestNG测试报告
分布式构建,支持Jenkins能够让多台计算机一起构建/测试
插件支持,支持扩展插件,你可以开发适合自己团队使用的工具
产品发布流程
产品设计成型—开发人员开发代码----测试人员测试功能----运维人员发布上线