6 大顶级持续集成工具

还没有读者喜欢这个。
Two different paths to different outcomes

Opensource.com

持续集成 (CI) 是敏捷软件开发设置中不可或缺的一部分。在一个又一个迭代中,团队努力“不破坏构建”,同时交付增量功能。但是,当开发人员完全专注于添加功能时,代码错误有时会悄然出现,导致软件无法使用。为了阻止此类错误集成到软件配置管理 (SCM) 中,CI 服务器充当了门卫的角色,帮助监控代码质量。即使代码已集成到 SCM 中,CI 服务器也可以快速告诉您哪里出了问题。在这篇文章中,让我们来看看您可以在敏捷设置中使用的六个开源 CI 服务器工具。

Jenkins

Jenkins

Jenkins 是在 Hudson 项目贡献者与收购 Sun Microsystems 的公司之间决裂后创建的。它用 Java 开发,可以使用简单的 java -jar jenkins.war 命令在下载 WAR 文件后安装。您也可以将其部署在 servlet 容器中。Jenkins 的重点是两个主要任务:持续构建/测试软件项目和监控外部运行的作业。对于前者,Jenkins 支持一系列 SCM 工具——Git、Mercurial、Subversion、Clearcase 等等。您可以构建基于 Apache Ant 和 Apache Maven 的项目以及其他 shell 脚本或 Windows 批处理文件用于构建前和构建后活动。请注意,几乎所有配置都可以通过基于 Web 的 GUI 完成。

Jenkins 可以作为第三方供应商的服务提供,但是如果您有大量的软件版本需要测试,那么最好在您自己的服务器上运行它——这不仅可以完全控制基础设施问题,而且对于担心软件安全的公司也很有帮助。

Buildbot

Buildbot

Buildbot 用 Python 开发,基于 Twisted 框架。它最初是作为 Tinderbox 项目的替代品而启动的,现在已在 Mozilla、Webkit、Chromium 等中使用。Buildbot 安装包含一个或多个主服务器和一组从服务器。主服务器监控源代码存储库中的更改,协调从服务器的活动,并将结果报告给用户和开发人员。从服务器在各种操作系统上运行。您需要为主服务器提供 Python 配置文件以进行 Buildbot 配置。这对于非程序员来说可能有点困难,但这样的脚本为 Buildbot 提供了非常需要的灵活性。

这种设置背后的理念是,大多数 CI 工具都带有固定的基本设计,并且选项仅限于工具作者设想的那些。但是,诸如混合语言应用程序或复杂的发布任务之类的用例可能会导致这些假设被违反。Buildbot 的设计允许您的安装随着您的需求而增长,从简单的流程开始,并发展以满足您的独特需求。

BuildBot

BuildBot 屏幕截图由 Nitish Tiwari 提供。 CC BY-SA 4.0

屏幕截图由 Nitish Tiwari 提供。 CC BY-SA 4.0

Travis CI

Travis CI

Travis CI 可能是最容易上手的 CI 服务器之一。Travis CI 是开源的,显然可以免费托管在您自己的服务器上,但它也提供 SaaS 版本,允许免费测试开源项目。设置非常简单,只需链接您的 GitHub 帐户,授予相关权限,并使用您的项目特定要求更新 travis.yaml 文件即可。在文件提交到 GitHub 后,将触发新的 Travis CI 构建。

Strider

Strider

Strider 用 Node.JS 和 JavaScript 编写,并使用 MongoDB 作为后端存储。MongoDB 和 Node.js 是安装 Strider 的先决条件。您可以使用 npm install strider 安装它。但是,Strider 可以通过插件进行高度自定义,可能需要您手动编写代码——这不是一件坏事,但是如果您想要更快的设置而无需太多的编程工作,您可能应该考虑其他选项。

Go

Go

GoThoughtWorks 创建,然后开源。与其他高级 CI 服务器一样,Go 允许您跨不同系统分发构建并在一个地方监控它们。要使用它,您需要在您的服务器上安装它——没有可用的 SaaS。

使用 Go,可以将定期执行的任务添加为管道。这些活动的实例称为作业。另一个有趣的补充是能够使用价值流图可视化整个持续交付工作流程。该地图可帮助您跟踪从提交到部署的整个更改。

Integrity

Integrity

基于 Ruby 构建的 Integrity 需要 Ruby 1.8.7 或更高版本、RubyGems 1.3.5 或更高版本以及 Git 1.6 或更高版本。没有可用的 SaaS,您需要在本地安装它才能使用它。配置是使用“init.rb”文件完成的。项目页面上提供了此文件的示例。另一个需要注意的重要事项是,Integrity 目前仅适用于 Git,因此如果您使用其他 SCM 工具,这可能不适合您。

本文的早期版本曾在 Taiga 博客上发布。经许可重新发布,并根据知识共享许可协议。

User profile image.
Nitish 对开源、系统软件和创业公司的交叉领域感兴趣。他喜欢阅读和探索任何开源的东西。在空闲时间,他喜欢阅读励志书籍。他目前正在构建 Parseable - 一个开源对象存储、日志存储、管理和可观察性平台。

评论已关闭。

© . All rights reserved.