CircleCI orbs的意义是什么

82次阅读
没有评论

问题描述

在查看CircleCI的Kubernetes Orb时,想知道CircleCI orbs的意义是什么,相比于使用bash函数/脚本(更具互操作性和常见性)的好处是什么。他认为这似乎是一种不必要的锁定,但可能只是他自己的幼稚想法。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

什么是CircleCI orbs?

根据Orbs Introduction的介绍,orbs是可共享的配置元素的包,包括jobs、commands和executors。CircleCI提供了认证的orbs,以及由CircleCI合作伙伴编写的第三方orbs。

orbs的优势在于提供了一个经过授权的jobs、commands和executors的包。假设有数百个orbs,它看起来像是一个经过社区认可的插件/附加组件生态系统,类似于Ansible角色、Jenkins插件或WordPress插件。

orbs vs shell函数/脚本

由于orbs提供了jobs、commands和executors,它很难被简单的shell命令/函数的组合所取代。

使用orbs可以更方便地使用预定义的jobs、commands和executors,而不需要自己编写和维护复杂的shell脚本。这样可以节省时间和精力,并且可以更容易地在不同的项目中重复使用。

是否是不必要的锁定?

关于锁定的担忧,你是正确的。orbs确实是一种锁定。

但据我所知,没有任何可移植的解决方案可以轻松地从一个CI/CD系统迁移到另一个系统。例如,尝试将.gitlab-ci.yml转换为travis.yml。

然而,锁定通常会在速度或部署的便利性方面给你带来优势。

可移植性

由于有四种执行器类型(docker、machine、windows和macos),orbs提供了更多的可移植性和跨平台的方法。这意味着你可以在不同的环境中使用相同的orbs配置,而不需要进行大量的修改。

总的来说,使用CircleCI orbs可以帮助你节省时间和精力,并提供更方便的配置和部署选项。虽然它可能会带来一些锁定的问题,但在速度和便利性方面可能会给你带来一些优势。

评论:
1. 似乎仍然有大部分的”orbs”可以使用bash函数来代替,只有在需要的情况下才使用orbs。此外,我认为”授权”并不是一个优势,它可以很容易地成为一个git仓库,从而获得相同的优势,实际上我认为这是一个缺点,因为它是”集中化”的。
2. 你是对的。我想,”授权”的重要性取决于CTO的观点。

以上是关于CircleCI orbs的解决方案,希望能对你有所帮助。

正文完