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