乐趣区

关于devops:十分钟认识-DevOps-与CICD

DevOps

DevOps 是 Development 和 Operations 的组合,是一种方法论,是一组过程、办法与零碎的统称,用于促成利用开发、利用运维和品质保障(QA)部门之间的沟通、合作与整合。以期突破传统开发和经营之间的壁垒和鸿沟。DevOps 是一种器重“软件开发人员(Dev)”和“IT 运维技术人员(Ops)”之间沟通单干的文化、静止或常规。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、公布软件可能更加地快捷、频繁和牢靠。具体来说,就是在软件交付和部署过程中进步沟通与合作的效率,旨在更快、更牢靠的的公布更高质量的产品。

也就是说 DevOps 是一组过程和办法的统称,并不指代某一特定的软件工具或软件工具组合。各种工具软件或软件组合能够实现 DevOps 的概念办法。其本质是一整套的方法论,而不是指某种或某些工具汇合,与软件开发中设计到的 OOP、AOP、IOC(或 DI)等相似,是一种实践或过程或办法的形象或代称。

CI

CI 的英文名称是 Continuous Integration,中文翻译为:继续集成。CI 中,开发人员将会频繁地向骨干提交代码,这些新提交的代码在最终合并到骨干前,须要通过编译和自动化测试流进行验证。

继续集成(CI)是在源代码变更后自动检测、拉取、构建和(在大多数状况下)进行单元测试的过程。继续集成的指标是疾速确保开发人员新提交的变更是好的,并且适宜在代码库中进一步应用。CI 的流程执行和实践实际让咱们能够确定新代码和原有代码是否正确地集成在一起。

CD

CD 可对应多个英文名称,继续交付 Continuous Delivery 和继续部署 Continuous Deployment,一下别离介绍。

查了一些材料,对于继续交互和继续部署的概念比拟凌乱,以下的概念总结按大部分的材料总结而来。

继续交付

实现 CI 中构建及单元测试和集成测试的自动化流程后,继续交付可主动将已验证的代码公布到存储库。为了实现高效的继续交付流程,务必要确保 CI 已内置于开发管道。继续交付的指标是领有一个可随时部署到生产环境的代码库。 在继续交付中,每个阶段(从代码更改的合并,到生产就绪型构建版本的交付)都波及测试自动化和代码公布自动化。在流程完结时,运维团队能够疾速、轻松地将利用部署到生产环境中或公布给最终应用的用户。

继续部署

对于一个成熟的 CI/CD 管道(Pipeline)来说,最初的阶段是继续部署。作为继续交付——主动将生产就绪型构建版本公布到代码存储库——的延长,继续部署能够主动将利用公布到生产环境。 继续部署意味着所有的变更都会被主动部署到生产环境中。继续交付意味着所有的变更都能够被部署到生产环境中,然而出于业务思考,能够抉择不部署。如果要施行继续部署,必须先施行继续交付。

继续交付并不是指软件每一个改变都要尽快部署到产品环境中,它指的是任何的代码批改都能够在任何时候施行部署。

继续交付示意的是一种能力,而继续部署示意的则一种形式。继续部署是继续交付的最高阶段。

Agile Development

另外一个概念,也就是所谓的麻利开发,仿佛还没有所谓的简称,而且这个称说仿佛在国内被滥用了。麻利开发着重于一种开发的思路,拥抱变动和疾速迭代。如何实现麻利开发,目前仿佛尚没有欠缺的工具链,更多的是一种概念性,调侃的说法“既想马儿跑得快,又想马儿不吃草”的另外一种说法。

上图揭示了麻利开发的一些外延和指标,仿佛有点儿一本真经的胡言乱语的意思。

CI、CD、DevOps 关系

概念性的内容,每个人的了解都有所不同。就好比 CGI 这个词,即能够了解成 CGI 这种协定,也能够了解成实现了 CGI 协定的软件工具,都没有问题,咬文嚼字过犹不及。留下一图:

链接:https://blog.jjonline.cn/linu…

退出移动版