假如把开发工作流程分为以下几个阶段:

编码 -> 构建 -> 集成 -> 测试 -> 交付(deliver) -> 部署(deploy)

1、持续集成

持续集成:Continuous Integration,它是指软件个人研发的部分向整体部分交付,频繁进行集成以便更快地发现其中的错误。选择持续集成系统是持续集成的其中一步,还需要建立合适的持续集成文化比如代码质量管控、测试文化等,做好持续集成,可为持续交付与持续部署打好坚实基础。

持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

2、持续交付

持续交付:Continuous Delivery,持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。持续交付并不是指软件每一个改动都要尽快部署到产品环境中,它指的是任何的代码修改都可以在任何时候实施部署。

 持续交付在持续集成的基础上,将集成后的代码部署到类生产环境。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。

3、持续部署

持续部署:Continuous Deployment,持续部署是指当交付的代码通过评审之后,自动部署到生产环境中。持续部署是持续交付的最高阶段。这意味着,所有通过了一系列的自动化测试的改动都将自动部署到生产环境。它也可以被称为“Continuous Release”。

自动化。

产品研发 项目交付 组织架构 交付和研发区别_产品研发 项目交付 组织架构

产品研发 项目交付 组织架构 交付和研发区别_持续部署_02