持续集成(ContinousIntergration,CI)是一种软件开发实践,即团队开发成员常常集成它们的工做,一般每一个成员天天至少集成一次,也就意味着天天可能会发生屡次集成。每次集成都经过自动化的编译、发布、自动化回归测试来验证,从而尽快地发现集成错误。许多团队发现这个过程能够大大减小集成的问题,让团队可以更快的开发内聚的软件。持续集成是为了持续交付。 没有单元测试的持续集成基本无心义。架构
持续部署(ContinousDelivery,CD)在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境中。好比,咱们完成单元测试后,能够把代码部署到测试环境中,交付给质量团队或者用户,以供评审。若是评审经过, 代码就进入生产阶段。运维
DevOps是一个完整的面向IT运维的工做流,以IT自动化以及CI、CD为基础,来优化程序开发、测试、系统运维等全部环节。工具
DevOps实际是一种文化上的变迁,表明了开发、运维、测试等环节之间的协做,所以DevOps工具是很是多种多样的,甚至能够由多种工具组成一个完整的DevOps工具链。此类工具能够应用于一种或多种类别,并可体现出软 件开发和交付过程的不一样阶段:性能
①编码:代码开发和审阅,版本控制工具、代码合并工具单元测试
②构建:持续集成工具、构建状态统计工具测试
③测试:经过测试和结果肯定绩效的工具优化
④打包:成品仓库、应用程序部署前暂存编码
⑤发布:变动管理、发布审批、发布自动化版本控制
⑥配置:基础架构配置和部署,基础架构即代码工具开发
⑦监视:应用程序性能监视、最终用户体验