当前位置:数据分析 > 十分钟了解DevOps、CI、CD

十分钟了解DevOps、CI、CD

  • 发布:2023-09-30 21:28

对于一个成熟的CI/CD管道(Pipeline)来说,最后一个阶段就是持续部署。作为持续交付的扩展(自动将生产就绪的版本发布到代码存储库),持续部署会自动将应用程序发布到生产环境。 开发运营 DevOps 是开发和运营的组合。它是一种方法论,是用于促进应用程序开发、应用程序运维和质量保证(QA)部门之间沟通、协作和集成的一组流程、方法和系统的统称。从而打破传统开发和运营之间的壁垒和鸿沟。 DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通与合作的文化、运动或实践。通过自动化“软件交付”和“架构变更”流程,我们可以更快、更频繁、更可靠地构建、测试和发布软件。具体来说,就是提高软件交付和部署过程中的沟通和协作效率,旨在更快、更可靠地发布更高质量的产品。 换句话说,DevOps是一组流程和方法的统称,而不是指特定的软件工具或软件工具的组合。各种工具软件或软件组合都可以实现 DevOps 的概念方法。它的本质是一套完整的方法论,而不是指某某或某套工具。它类似于软件开发中设计的OOP、AOP、IOC(或DI)等。它是理论、过程或方法的抽象或代表性名称。 。 CI CI的英文名称是Continuation Integration,中文翻译是:持续集成。 在CI中,开发人员会频繁向主干提交代码,而这些新提交的代码需要经过编译和自动化测试流程的验证才能最终合并到主干中。 持续集成 (CI) 是在源代码更改后自动检测、拉取、构建和(在大多数情况下)单元测试的过程。持续集成的目标是快速确保开发人员新提交的更改是好的并且适合在代码库中进一步使用。 CI的流程执行和理论实践让我们能够确定新代码和原始代码是否能够正确集成。 光盘 CD可以对应多个英文名称,Continuation Delivery和Continental Deployment,下面分别介绍。 查了一些资料,持续交互和持续部署的概念比较混乱。以下概念总结基于大部分信息。 持续交付 在完成 CI 中的构建、单元和集成测试的自动化过程后,持续交付会自动将经过验证的代码发布到存储库。为了实现高效的持续交付流程,确保将 CI 内置到开发管道中非常重要。持续交付的目标是拥有一个可以部署到生产环境的代码库。 在持续交付中,从代码更改的合并到生产就绪构建的交付的每个阶段都涉及测试自动化和代码发布自动化。在此过程结束时,运营团队可以快速轻松地将应用程序部署到生产中或将其发布给最终用户。 持续部署 对于一个成熟的CI/CD管道(Pipeline)来说,最后一个阶段是持续部署。作为持续交付的扩展(自动将生产就绪的版本发布到代码存储库),持续部署会自动将应用程序发布到生产环境。 持续部署意味着所有更改都会自动部署到生产环境。持续交付意味着所有变更都可以部署到生产环境,但出于业务考虑,可以选择不部署。想要实现持续部署,首先要实现持续交付。 持续交付并不意味着软件的每一个变更都必须尽快部署到生产环境。这意味着任何代码修改都可以随时部署。 持续交付代表一种能力,持续部署代表一种方法。持续部署是持续交付的最高阶段。 敏捷开发 另外一个概念,所谓敏捷开发,似乎没有所谓的缩写,而且这个称谓在国内似乎被滥用了。敏捷开发侧重于拥抱变化和快速迭代的开发方法。如何实施敏捷开发似乎没有一个完美的工具链。比较概念化,换一种说法,就是“我想让马跑得快,又想让马不吃草”。 上图揭示了敏捷开发的一些内涵和目标,看起来有点废话。 CI、CD、DevOps 关系 每个人对概念内容的理解都不同。就像CGI这个词一样,可以理解为CGI等协议或者实现CGI协议的软件工具。两者都没有问题。过于字面意义是不够的。留下图片: ​

相关文章