原文:https://www.jianshu.com/p/94adb682ca6e
作者:赵客缦胡缨v吴钩霜雪明
互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称 CI)。
持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。
它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
讨论关注以下几点:
一、概述
持续集成流程:
开发团队 -> 源代码编码(开发语言)-> 代码版本控制(Gitlab) -> Docker 构建(创建镜像)-> 静态代码分析(白盒测试)-> 自动化单元测试 -> 代码覆盖率(覆盖率测试)-> Docker 版本(发布到容器)-> 提供部署到测试环境 -> 自动化功能测试 -> 发布报告 -> 生产部署
二、持续集成
持续集成构建目的:
持续集成自动化测试目的:
持续集成存在的问题:
三、持续交付(Continuous delivery,缩写为 CD)
持续集成 -> 再次测试 -> 结果发布
四、持续部署(Continuous Deployment)
持续部署则是在持续交付的基础上,把所有的变更自动部署到生产环境中。
五、持续集成操作流程
编码 -> 构建 -> 整合 -> 测试 -> 交付 -> 部署 -> 回滚
Docker + Jenkins + Git 发布 Java 项目持续构建案例
Java 项目开发 -> 提交项目代码 Git 容器 -> Jenkins 容器拉取项目代码 -> Maven 编译构建项目 -> Jenkins 发布项目到 Tomcat 容器 -> 测试
-END-