大家好,我是阿萨。最近有小伙伴在问持续集成,持续交付和DevOps的相关知识。今天我们就简单介绍下相关概念。
一.持续集成
持续集成 CI(Continuous Integration)。它指开发频繁地(一天多次地)提交代码到主干或者共享库里。开发先提交代码到主干上,编译,运行自动化测试,生成可部署的软件包。这所有过程都是自动化运行的。
需要注意的:测试不通过,不能集成到主干分支。
它的好处:
1.快速迭代。通过快速提交代码,合并分支,可以快速集成新实现的需求。
2. 降低风险,尽早快速发现问题,降低了问题修复成本,同时降低了交付风险。
一般CI流程是:
合并代码->拉取代码->自动化构建->自动化编译->自动化测试->自动化部署->自动化发布->邮件发送通知;
二.持续交付
持续交付CD(Continuous delivery)指的是频繁快速地把可测试的软件新版本提供给质量团队或者用户。质量团队和用户评测过了后,软件版本就可以进入上线流程了。
持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。
三.持续部署
持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。
持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。
持续部署的前提是能自动化完成测试、构建、部署等步骤。
四.DevOps
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
DevOps 它将人、流程和技术结合起来,不断地为客户提供价值。
DevOps 对团队意味着什么?DevOps 使以前孤立的角色(开发、IT 运营、质量工程和安全)可以协调和协作,以生产更好、更可靠的产品。通过采用 DevOps 文化、做法和工具,团队能够更好地响应客户需求,增强对所构建应用程序的信心,更快地实现业务目标。
DevOps能带来的好处有:
1.缩短产品上线时间
2.适应市场和竞争,因为小步快跑方式,可先上线基本功能,占有市场
3.保持系统稳定性和可靠性
4..缩短故障平均恢复时间
注:部分内容参考https://azure.microsoft.com/zh-cn/overview/what-is-devops/
你学会了吗?
对以上内容有疑问的,欢迎到我的星球一起讨论和交流。