超越Jenkins: 7 devops工具

这些替代Jenkins的方案为自动化软件集成和交付提供了独特的能力

超越Jenkins: 7 devops工具
Stockbyte /思想库

对软件开发周期中速度的需求为开发人员带来了许多有价值的自动化工具。这些工具中最主要的是那些旨在促进软件项目的持续集成和持续交付的工具。通过这些CI/CD工具,开发团队可以保持软件的更新,并迅速将其投入生产。

Jenkins是最著名的CI/CD系统之一,它确实是快速成为devops的引擎,管理开发端。Jenkins的一个关键好处是为它开发了大量插件,提供了从扩展Jenkins支持的版本控制系统数量到适应IBM大型机的各种功能。由太阳微系统公司(Sun Microsystems)发起的哈德逊项目衍生而来的詹金斯最近大受欢迎版本2,改进了可用性和安全性。

但是,在持续集成和持续交付方面,Jenkins并不是唯一的选择。像circlici、GitLab和JetBrains这样的公司也提供了值得开发人员选择的CI/CD工具。

以下是Jenkins之外的几个用于自动化软件交付过程的选项。

Atlassian竹

Atlassian Bamboo提供了丰富的功能,从构建和部署Docker容器到在Amazon Web Services上运行应用程序。专用代理可用于立即运行热补丁和关键构建。可扩展性一直被视为Jenkins的眼中钉;在这里,Atlassian的商业合作伙伴Appfire的首席执行官兰德尔·沃德(Randall Ward)看到了Bamboo的优势。Appfire提供插件和服务。

沃德说:“Atlassian确实提出了可扩展性的问题。他补充说,该公司与Jenkins的用户进行了合作,发现他们遭遇了“重大性能障碍”。沃德说,竹制天平通过投票代理和扩展代理能力。Appfire将Bamboo作为某种瑞士军刀,用于与第三方插件和组件进行集成测试,以及部署代码。

+更多关于网络世界足球竞猜app软件devops和云如何重塑你的IT部门+

Bamboo的特性是代码可见性,使用户可以看到自上次部署以来代码变化的完整汇总。它集成了其他Atlassian产品,包括Bitbucket Git代码管理解决方案,Jira项目管理解决方案,HipChat团队聊天应用程序。

CircleCI

CircleCI还强调可伸缩性,除了它测试一切的能力,从数千个Jasmin单元测试到移动应用。Docker的功能也很突出,CircleCI帮助开发人员将Docker文件带到生产环境中。

CircleCI首席执行官吉姆•罗斯表示,“这与詹金斯非常相似。”它提供了一个编配层和一个工作流工具,可以自动化代码更改并将它们推送到数据中心,他补充道。2020欧洲杯预赛CircleCI始于2011年,最初是一个多租户SaaS选项。它是Jenkins的替代品,用户无需管理自己的服务器。单页的Ruby、Python和AJAX应用程序是它的强项。它现在可以部署在防火墙后面。与开源的Jenkins不同,CircleCI是一种商业解决方案。

CircleCI可以扩展到Jenkins无法处理的范围,Rose说,当应用程序开发团队加快工作速度时,在处理基础设施上日益增加的负载时,Jenkins可能会受到挑战。他说:“让Jenkins规模化的唯一方法就是淘汰更多版本的Jenkins。”他还补充道,开发团队必须用Jenkins管理所有这些部署管道。使用CircleCI,配置是在代码级而不是服务器级完成的。

Eclipse哈德逊

作为Jenkins的前身,Hudson从那时起就一直在Eclipse基金会的管辖之下甲骨文五年前放弃了这个项目.甲骨文在2010年收购Sun Microsystems时继承了Hudson,但在开发人员未能在甲骨文的项目方向上达成一致后,Jenkins分叉出现了。Hudson是用Java编写的,并在Apache Tomcat等servlet容器中运行。它可以与Git和Subversion等版本控制工具一起工作。

Eclipse的一位代表说:“在Hudson团队中,我们致力于在持续的基础上增强Hudson,特别关注使Hudson成为持续交付和持续集成的合适平台。”“因此,您将看到该工具的新特性,特别是与大型企业的需求有关,以大规模使用Hudson,并作为复杂的建造管道的一部分。”

一个Hudson用户,Cleo,提供业务集成软件和服务,评估Jenkins作为Hudson的替代,因为Jenkins维护了大多数Hudson插件,根据来自Eclipse的案例研究。Cleo发布工程师Stuart Lorber在Eclipse研究中说:“在看到Jenkins的核心功能不如Hudson的可靠后,我们放弃了这个想法。”

GitLab CI

开源GitLab CI以SaaS或防火墙的形式提供,可以在任何支持Go语言的平台上执行,包括Unix、Windows和OS x。它的特点是并行构建和在多台机器上分割构建。用户可以自动伸缩虚拟机,以立即处理和最小化成本。其他功能包括多语言支持、实时日志、每个阶段定义多个作业的管道,以及Docker支持(用于测试和构建Docker映像)。该公司还将可扩展性视为一项优势。

GitLab CI,它是GitLab代码托管平台,旨在为持续集成提供简单的设置,GitLab首席执行官Sid Sijbrandij说。“过去,建立CI是一件很乏味的事情,而我们想让它变得非常非常简单。”他补充说,GitLab CI不需要太多的管理。测试在GitLab Runner上执行,它是用Go编写的,提供多平台、多语言功能。

由于GitLab CI与GitLab集成,用户不必设置新项目。用户添加一个文件来描述您想要如何测试存储库。尽管承认詹金斯是他的竞争对手,但Sijbrandij拒绝解释为什么他的平台是更好的选择。“我非常尊敬詹金斯。”

JetBrains TeamCity

JetBrains TeamCity CI/CD服务器集成了Apache Maven构建管理器和JetBrains自己的YouTrack问题跟踪器等工具。JetBrains开发者宣传副总裁Hadi Hariri说:“与其他解决方案相比,它的主要卖点在于,我们提供了其他平台作为插件内置的大部分功能的完整体验。”“此外,当然,我们还有许多社区贡献的插件支持。”

不是开源的TeamCity还具有Web界面和管理功能,例如提供构建之间的依赖关系快照、工件依赖关系,以及用于重用设置的构建配置模板。

该平台有针对Eclipse、Microsoft Visual Studio和JetBrains IntelliJ的IDE插件。它还提供实时测试报告。“TeamCity是一个已经存在了10年的产品。它诞生于JetBrains内部的一种需求,并已发展成为一款非常成熟的产品,大大小小的客户都在使用它。”“这绝对是一个随着你的需求而增长的工具。您可以简单地使用单个操作配置CI项目并启动和运行,从而跨多个服务器增长并处理数百个代理。这尺度。”

ThoughtWorks GoCD

ThoughtWorks GoCD是一个开源的持续交付系统,它的特点是工作流的可见性和建模以及价值流的可视化,以及比较构建的能力。它提供了部署所需的“物资清单”。同时,代理网格提供了跨管道和版本的并行执行;模板允许重用配置管道。“它非常支持开箱即用的CD;你不需要安装一堆插件来移动,”ThoughtWorks董事总经理戴维•赖斯表示。

Rice补充说,GoCD与Jenkins的不同之处在于,它是关于部署管道以及如何使持续交付更容易。“詹金斯不是这么想的。”GoCD可以安装在办公场所,也可以设置在云端。

ThoughtWorks提前

ThoughtWorks Snap提供基于云的持续集成和交付功能。ThoughtWorks的Rice表示:“Snap是为完全在云端操作的人设计的。他补充说,它的目标用户是“根本不想要任何基础设施”的人。托管部署管道可以从云平台建立,包括GitHub、Amazon Web Services、DigitalOcean和Heroku。拉请求被测试,以验证它们将干净地合并。

Snap可以在GitHub上的公共存储库中免费使用;在私人存储库中使用它是要收费的。最近,在Snap中添加了Docker支持,Docker映像可以在整个软件交付管道和部署中使用。计划对Docker Compose提供更好的支持,以帮助运行多容器环境。

这个故事,“超越Jenkins: 7 devops工具”最初是由信息世界

加入网络世界社区足球竞猜app软件脸谱网LinkedIn对自己最关心的话题发表评论。
相关:

版权所有©2016 IDG Com足球竞彩网下载munications, Inc.

SD-WAN买家指南:向供应商(和您自己)提出的关键问题