在软件或运维开发过程中经常会遇见DEV FAT UAT PRO CI CD等名词。但又不确定其中的意思,下面为各名词作一个解释归类。
一、 DEV、FAT、UAT、PRO
DEV Development environment
开发环境,用于开发者调试使用
FAT Feature Acceptance Test environment
功能验收测试环境,用于软件测试者测试使用
UAT User Acceptance Test environment
用户验收测试环境,用于生产环境下的软件测试者测试使用
PRO Production environment
生产环境
二、 CI 和CD
CI:持续集成(CONTINUOUS INTEGRATION)
CD:持续部署(CONTINUOUS DEPLOYMENT)
CD:持续交付(CONTINUOUS DELIVERY)
编码 -> 构建 -> 集成 -> 测试 -> 交付 -> 部署
持续集成CI(Continuous Integration) 持续集成(Continuous Integration)简称CI,持续集成强调开发人员提交了新代码之后,立刻自动的进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
持续交付 (Continuous Delivery) 持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「预发布环境」(production-like environments)中。交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段 持续交付并不是指软件每一个改动都要尽快部署到产品环境中,它指的是任何的代码修改都可以在任何时候实时部署。
强调: 1、手动部署 2、有部署的能力,但不一定部署
持续部署(Continuous Deployment) 代码通过评审之后,自动部署到生产环境中。持续部署是持续交付的最高阶段。 强调 1、持续部署是自动的 2、持续部署是持续交付的最高阶段 3、持续交付表示的是一种能力,持续部署则是一种方式