CI \ CD工具的开发人员通常会将大型公司(例如Microsoft,Oculus,Red Hat甚至法拉利和NASA)指定为客户。 这样的品牌似乎只能与昂贵的系统一起使用,而这些系统是由一些开发人员和设计师有条件地启动的,因此无法承受。 但是,小型团队可以使用其中很大一部分工具。
您需要注意什么-我们将进一步说明。
照片-Csaba Balazs-未飞溅
开源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; };
我们建议您先使用
官方指南和
电子书 (目前正在添加)中的工具开始熟悉。
这是用于优化发行版开发的平台。 它的代码是开放的,位于
GitHub上的存储库中。 该工具的作者是
Novell 。 她参与了SuSE发行版的开发,该项目最初称为openSUSE Build Service。 毫不奇怪,Open Build Service
用于在openSUSE,Tizen和VideoLAN中构建项目。 该工具还可以与Dell,SGI和Intel一起使用。 但是,在普通用户和小型创业公司中也有。 特别是对他们而言,作者收集了(
第10页 )预先配置的
软件包 。 该系统本身是完全免费的-您只需花钱在主机或铁服务器上即可进行部署。
但是在其存在的整个时间里,该工具尚未获得广泛的社区。 尽管
它是 Linux Developer Network的一部分,但负责标准化开放OS。 在主题论坛上
很难找到问题的答案。 但是Quora的一位居民指出,在Freenode上的
IRC聊天中,社区成员相当乐意回应。 小社区的问题不是全球性的,因为
官方文档 (PDF和EPUB)中描述
了许多问题的解决方案。 在这里,您
可以找到使用OBS的最佳实践(有示例和案例)。
一个开放式工具(
GitHub ),可使用脚本自动执行数据中心和云中的任务。 特殊的脚本服务器负责其执行。 我们可以说Rundeck是用于管理ControlTier应用程序的平台的“女儿”。 Rundeck于2010年与她分离,并获得了新功能-例如,与Puppet,Chef,Git和Jenkins的集成。
该系统由迪斯尼公司 , Salesforce和Ticketmaster使用 。 但是该项目也适合初创企业。 这是因为Rundeck已获得Apache v2.0许可证的许可。 此外,该工具非常易于使用。
一位与Rundeck合作的Reddit居民
说,他自己解决了大部分困难。 这样,开发人员发行的
文档和电子书对他有所帮助。
您还可以找到有关在线设置该工具的快速指南:
一个开放工具(
GitHub )自动执行代码的版本控制。 它是在2007年由
ThoughtWorks引入的-然后将该项目称为Cruise。
AutoCD Autoder(一家先祖族谱服务)和Barclaycard(一家信用卡提供商)可以与GoCD一起使用。 但是,该工具的用户中有四分之一
是小型企业 。
该服务在初创企业中的流行可以用其开放性来解释-它是根据Apache v2.0许可证发行的。 同时,GoCD
具有用于与第三方软件集成的插件-授权系统和云解决方案。 没错,该系统
很难掌握-它拥有大量的操作员和团队。 另外,一些用户抱怨界面不良以及
需要配置代理以进行扩展。
照片-Matt Wildbore-不飞溅如果您想尝试GoCD,请在项目网站上找到
官方文档 。 您还可以推荐带有
自定义指南的
GoCD开发人员博客 ,
作为其他信息
的来源。
Jenkins是众所周知的,
被认为是 CI \ CD领域的一种标准-当然,如果没有它,这种选择将是不完整的。 该工具于2011年问世,
成为 Oracle Hudson项目的
一个分支。
今天,他们与美国宇航局,任天堂和其他大型组织的詹金斯一起
工作 。 但是,
超过8%的用户是最多10人的小组。 该产品是完全免费的,并
根据MIT许可进行分发。 但是,您将必须自己托管和配置Jenkins-它需要专用的服务器。
在乐器的整个使用过程中,围绕它形成了一个广泛的社区。 用户积极地在
Reddit和
Google网上论坛中进行线程交流。 詹金斯的资料也经常出现在哈布雷(Habré)上。 如果您想成为社区的一员并开始使用Jenkins,则有
官方文档和
开发人员的
指南 。 我们还建议以下指南和书籍:
Jenkins有一些有用的第三方项目。 第一个是
Configuration as Code插件。 它使用可读的API简化了Jenkins的设置,即使没有深入了解该工具的管理员也可以理解这些API。 第二个是
Jenkins X云系统。 通过自动执行一些常规任务,它可以加快部署在大型IT基础架构上的应用程序的交付。
这是一个连续集成系统,用于自动化应用程序的组装和测试周期。 每次对其进行任何更改时,它都会自动检查代码的功能。
该工具的作者是工程师布莱恩·沃纳(Brian Warner)。 今天,他被Buildbot监督委员会倡议小组
取代 ,该小组包括6名开发人员。
Buildbot由LLVM,MariaDB,Blender和Dr.Web等项目使用。 但它也用于较小的项目,例如wxWidgets和Flathub。 该系统支持所有现代VCS,并通过使用Python对其进行描述而具有灵活的构建设置。
官方文档和第三方教程将帮助您处理所有这些问题,例如,这是
IBM的快速
指南 。
当然, 这些并不是小型组织和初创公司应注意的所有 DevOps工具。 在评论中提供您喜欢的工具,我们将尝试在以下材料之一中讨论它们。
我们在公司博客中写的内容: