持续交付是一种软件开发实践,通过持续交付,系统可以自动为将代码更改发布到生产环境做好准备。

持续集成和持续交付的区别

持续集成的目的是让产品可以快速迭代,交付高质量的代码,简化工作流程。核心在于代码集成到主干之前,必须要通过所有的自动化测试。

持续交付的目的是交付高质量、有价值的产品。核心在于频繁地将软件的新版本,交付给测试团队进行测试。如果测试通过,该版本就可作为生产使用。

持续交付的重点

持续集成的重点是代码,但持续交付的重点是可交付的产品。

可交付的产品一定要有达标的质量,确保产品在生产环境没问题,所以在成功持续集成以后,还需要进行完整测试。

本章节将会介绍如何在 kdo 上实现持续交付流程。

持续集成与持续交付流程

持续集成以代码为边界,持续交付以可交付制品为边界;镜像与版本号是两者之间的交接物。

flowchart TD
    A[开发人员提交代码] --> B[持续集成开始]
    B --> C[拉取代码并运行单元测试]
    C --> D[执行静态扫描与质量门禁]
    D --> E{集成是否通过}
    E -->|否| F[反馈问题并修复代码]
    F --> A
    E -->|是| G[构建镜像并推送镜像仓库]
    G --> H[生成可交付制品与版本号]
    H --> I[持续交付开始]
    I --> J[部署到测试环境]
    J --> K[完整功能与验收测试]
    K --> L{测试是否通过}
    L -->|否| F
    L -->|是| M[人工审批并晋级生产]
    M --> N[部署生产并可回滚]

Table of contents