针对初创公司的 CICD:有哪些工具以及为什么不仅大型知名公司使用它们

CICD 工具的开发人员经常将大公司列为客户——微软、Oculus、红帽,甚至法拉利和 NASA。 这些品牌似乎只适用于由几个开发人员和设计师组成的初创公司无法承受的昂贵系统。 但这些工具的很大一部分可供小型团队使用。

下面我们就来告诉大家需要注意的事项。

针对初创公司的 CICD:有哪些工具以及为什么不仅大型知名公司使用它们
Фото— 恰巴·巴拉兹 — 不飞溅

PHP 审查

一个开源 CI 服务器,可以轻松地用 PHP 构建项目。 这是该项目的一个分支 PHPCI。 PHPCI 本身仍在发展,但不像以前那么活跃。

PHP Censor 可以与 GitHub、GitLab、Mercurial 和其他几个存储库配合使用。 为了测试代码,该工具使用 Atoum、PHP Spec、Behat、Codeception 库。 这里 示例文件 第一种情况的配置:

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

据信PHP Censor 非常适合部署小型项目,但您必须自己托管和配置它(自托管)。 通过相当详细的文档简化了此任务 - 它在 GitHub 上.

雷克斯

Rex 是远程执行的缩写。 该系统由工程师 Ferenc Erki 开发,用于实现数据中心流程的自动化。 Rex 基于 Perl 脚本,但无需了解这种语言即可与该工具交互 - 大多数操作(例如复制文件)都在函数库中描述,并且脚本通常适合十行。 以下是登录多个服务器并运行正常运行时间的示例:

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

我们建议您从以下开始熟悉该工具: 官方指南 и 电子书,目前正在完成。

开放构建服务(OBS)

这是一个优化发行版开发的平台。 它的代码是开放的,位于存储库中 GitHub上。 该工具的作者是该公司 Novell公司。 她参与了SuSE发行版的开发,这个项目最初被称为openSUSE Build Service。 开放构建服务不足为奇 用于在 openSUSE、Tizen 和 VideoLAN 中构建项目。 戴尔、SGI 和英特尔也使用该工具。 但在普通用户中也有小型初创公司。 作者特别针对他们收集了(第10页) 预配置 软件包。 系统本身是完全免费的 - 您只需花钱购买托管或硬件服务器即可部署它。

但自其存在以来,该工具从未获得广泛的社区。 虽然 他是 Linux 开发者网络的一部分,负责标准化开放操作系统。 这可能很困难 在专题论坛上找到您问题的答案。 但 Quora 的一位居民指出, IRC 聊天 在 Freenode 上,社区成员的反应非常积极。 小社区的问题不是全球性的,因为许多问题的解决方案已经被描述 在官方文档中 (PDF 和 EPUB)。 同上。 可以找到 使用 OBS 的最佳实践(有示例和案例)。

Rundeck

打开工具(GitHub上),它使用脚本自动执行数据中心和云中的任务。 一个特殊的脚本服务器负责它们的执行。 可以说,Rundeck是ControlTier应用管理平台的“女儿”。 Rundeck 于 2010 年与其分离并获得了新功能 - 例如与 Puppet、Chef、Git 和 Jenkins 的集成。

该系统用于 沃尔特·迪斯尼公司, Salesforce и 特玛。 但该项目也适合初创公司。 这是因为 Rundeck 是根据 Apache v2.0 许可证获得许可的。 而且,该工具非常易于使用。

一位曾与 Rundeck 合作过的 Reddit 居民, ,自己解决了大部分困难。 他们帮助他做到了这一点 文档和电子书,由开发商发布。

您还可以在线找到设置该工具的简要指南:

光碟

打开工具(GitHub上)自动化代码版本控制。 该公司于2007年推出 ThoughtWorks的 ——当时这个项目被称为 Cruise。

GoCD 被在线汽车销售网站 AutoTrader、家谱服务 Ancestry 和信用卡提供商 Barclaycard 的工程师使用。 然而,四分之一的工具用户 构成小型企业.

该服务在初创公司中的流行可以通过其开放性来解释 - 它是在 Apache v2.0 许可证下分发的。 与此同时,GoCD 它有 用于与第三方软件集成的插件 - 授权系统和云解决方案。 真实系统 相当复杂 在母带制作方面——拥有大量的操作人员和团队。 此外,一些用户抱怨界面不佳 需要 配置代理以进行扩展。

针对初创公司的 CICD:有哪些工具以及为什么不仅大型知名公司使用它们
Фото— 马特·怀尔德波尔 — 不飞溅

如果你想在实践中尝试GoCD,你可以在项目网站上找到 官方文档。 它还可以被推荐作为附加信息的来源 GoCD 开发者博客 带手册 设置时.

詹金斯

詹金斯广为人知, 考虑 CICD 领域的一种标准——当然,如果没有它,这个选择就不会完全完整。 该工具出现于 2011 年, 成为 来自 Oracle 的 Project Hudson 的一个分支。

今天和詹金斯一起 工作 美国宇航局、任天堂和其他大型组织。 然而 更多8% 用户帐户最多可达十人的小团队。 该产品完全免费并分发 根据麻省理工学院许可。 但是,您必须自己托管和配置 Jenkins - 它需要专用服务器。

在该工具存在的整个过程中,围绕它形成了一个大型社区。 用户在线程中主动交流 Reddit и 谷歌群组。 关于詹金斯的材料也定期出现在 Habré 上。 如果您想成为社区的一部分并开始与 Jenkins 合作,这里有 官方文档 и 开发者指南。 我们还推荐以下指南和书籍:

詹金斯有几个有用的副项目。 第一个是插件 配置为代码。 它通过易于阅读的 API 使 Jenkins 的设置变得简单,即使是没有深入了解该工具的管理员也可以理解。 第二是系统 詹金斯 X 对于云。 它通过自动化一些日常任务来加速部署在大规模 IT 基础设施上的应用程序的交付。

建造机器人

这是一个持续集成系统,用于自动化应用程序的构建和测试周期。 每次对代码进行任何更改时,它都会自动检查代码的功能。

该工具的作者是工程师 Brian Warner。 今天他值班 倡议小组 Buildbot 监督委员会,其中包括六名开发人员。

建造机器人 使用 LLVM、MariaDB、Blender 和 Dr.Web 等项目。 但它也用于 wxWidgets 和 Flathub 等较小的项目。 该系统支持所有现代 VCS,并通过使用 Python 来描述它们,具有灵活的构建设置。 它将帮助您处理所有这些问题。 官方文档 和第三方教程,例如,这是一个简短的教程 IBM手册.

当然, 那不是全部 小型组织和初创公司应该关注的 DevOps 工具。 在评论中给出您最喜欢的工具,我们将尝试在以下材料之一中讨论它们。

我们在企业博客中写的内容:

来源: habr.com

添加评论