我们几乎是 CircleCI 的狂热粉丝,我们并不羞于这样说。这就是为什么。
CircleCI 为我们做了什么?
这样描述 CircleCI 是合理的:
- 持续集成和测试
- 为我们编译代码
- 自动化质量保证
但这没有抓住要点,因为他们真正做的是帮助我们取悦客户。他们不仅为此提供工具、配料或食谱。他们提供了 解决方案 。我知道这是一个流行词,自从我还是一名使用 Visual Studio 的 .NET 开发人员以来,我就一直避免说“解决方案”。但这是描述 CircleCI 为我们所做的事情的唯一词。
我们有一个艰巨的挑战/问题:为了为我们的客户提供绝对最好的服务,我们必须能够 自信地在几分钟内交付改进 。它需要 正常工作 。 CircleCI 解决了这个问题。我们每天都需要这个。今天,我们已经为一位客户向我们的代理发送了一个按需更改,这很典型,因为我们发现了一些小机会来让事情变得很棒,并希望尽快发送并取悦我们。
如果您不提供在您无法控制的客户服务器上进行高性能计算的基于代理的软件,您可能不会意识到它有多难。相信我,这很难。 CircleCI 是能够做好它的重要组成部分。
我们为什么爱他们?
由于以下几个原因,CircleCI 很棒:
- 简单的设置(当时我尝试了替代方案,它毫无疑问地获胜了)
- 不仅与我们的代码/审查/合并/发布工作流程集成,而且增强了它
- 高性能——我们无法在内部构建他们构建的东西
- 低成本,比我们自己建造自己梦想的要便宜得多
- 可靠且高度可用
- 一个完整的包,完全交付,无需配置/安装/等
为什么不是詹金斯?
让我们把它放在上下文中。我们内部有一个 Jenkins 服务器,我曾参与过大量使用 Jenkins 的公司。 (我们将它用作执行 Ansible 脚本之类的任务运行器。)
詹金斯很痛苦。它几乎总是一个雪花服务器,至少在某种程度上是这样。它很慢。用户界面效率不高。这需要大量资源。它需要定期的时间。
只需提及 CircleCI 与 Jenkins 的 区别 :我可以实时查看我的代码,因为它是基于推送和挂钩的,而不是基于轮询的。我可以在单独的选项卡中打开 GitHub 和 CircleCI,执行“git push”,并在几秒钟内观看页面更新。这对生产力的影响是不可能被夸大的。
我坚信“购买,不要建造”。借用 Adrian Cockcroft(我们的顾问之一)的一句话,我们不从事无差别的繁重工作。我们的工作是构建世界上最神奇的数据库监控系统。我最不希望我们花时间在系统上运行测试并报告结果。这是对我们最宝贵资源的巨大浪费。这就是我在使用 Jenkins 在内部构建 CircleCI 只需单击一个按钮即可提供的内容的公司所经历的。
那么再告诉我一次你为什么喜欢 CircleCI?
我们喜欢 CircleCI,因为它是解决问题的方法,否则这对我们来说将是巨大的痛苦和代价。这是一个完整的解决方案,所有重要的方框都被选中,所有的小边缘情况和细微差别都得到了很好的处理。
通过从 CircleCI(以及 GitHub、Swiftype、Google、Intercom、VictorOps 等公司)购买完整的、经过深思熟虑的解决方案,我们在很短的时间内以很少的成本组装了一个巨大的大量的脚手架来经营我们的业务并取悦我们的客户。
我有点想给我们所有了不起的供应商写情书,但出于某种原因,今天我真的很受启发写关于 CircleCI 的文章,所以就在这里。
随时在评论中提出任何问题!