“Quality at Speed” 是软件开发中的新规范。
企业正在朝着DevOps方法论和敏捷文化迈进,以加快交付速度并确保产品质量。在DevOps中,连续和自动化的交付周期是使快速可靠的交付成为可能的基础。
这导致我们需要适当的持续集成和持续交付(CI/CD)工具。一个“好的”CI/CD工具可以利用团队当前的工作流程,以最佳利用自动化功能并创建可靠的CI/CD管道,并为团队发展提供所需的动力。
随着市场上大量CI/CD工具的出现,团队可能难以做出艰难的决定来挑选合适的工具。该列表包含“市场上最好的14种CI/CD工具”及其主要功能,使您和团队在选择过程中更加轻松。
以下罗列出了目前市场上最流行的14种最佳CI/CD工具。希望该列表为您在选择CI/CD前提供了足够的信息,更多详细信息您也可以查看官网做更深入的了解。最终结合您的需求以及现有基础架构以及未来潜力和改进的空间是将影响您最终选择的因素,帮助您选择到最适合您的规格的CI/CD软件。
Jenkins是一个开源自动化服务器,在其中进行集中构建和持续集成。它是一个独立的基于Java的程序,带有Windows,macOS,Unix的操作系统的软件包。通过数百种可用的插件,Jenkins支持软件开发项目的构建,部署和自动化。
Jenkins主要功能:
许可:免费,Jenkins是一个拥有活跃社区的开源工具。
主页:https://jenkins.io/
CircleCI是一种CI/CD工具,支持快速的软件开发和发布。CircleCI允许从代码构建,测试到部署的整个用户管道自动化。
您可以将CircleCI与GitHub,GitHub Enterprise和Bitbucket集成,以在提交新代码行时创建内部版本。CircleCI还可以通过云托管选项托管持续集成,或在私有基础架构的防火墙后面运行。
CircleCI主要功能:
许可:Linux计划从选择不运行任何并行操作开始。开源项目获得了另外三个免费容器。在注册期间,将看到价格以决定所需的计划。
主页:https://circleci.com/
TeamCity是JetBrains的构建管理和持续集成服务器。
TeamCity是一个持续集成工具,可帮助构建和部署不同类型的项目。TeamCity在Java环境中运行,并与Visual Studio和IDE集成。该工具可以安装在Windows和Linux服务器上,支持.NET和开放堆栈项目。
TeamCity 2019.1提供了新的UI和本机GitLab集成。它还支持GitLab和Bitbucket服务器拉取请求。该版本包括基于令牌的身份验证,检测,Go测试报告以及AWS Spot Fleet请求。
TeamCity主要功能:
许可:TeamCity是具有免费和专有许可证的商业工具。
主页:https://www.jetbrains.com/teamcity/
Bamboo是一个持续集成服务器,可自动执行软件应用程序版本的管理,从而创建了持续交付管道。Bamboo涵盖了构建和功能测试,分配版本,标记发行版,在生产中部署和激活新版本。
Bamboo主要功能:
许可:Bamboo定价层基于代理(Slave)而不是用户。代理越多,花费越多。
主页:https://www.atlassian.com/software/bamboo
GitLab是一套用于管理软件开发生命周期各个方面的工具。核心产品是基于Web的Git存储库管理器,具有问题跟踪,分析和Wiki等功能。
GitLab允许您在每次提交或推送时触发构建,运行测试和部署代码。您可以在虚拟机,Docker容器或另一台服务器上构建作业。
GitLab主要功能:
许可:GitLab是一个商业工具和免费软件包。它提供了在GitLab或您的本地实例和/或公共云上托管SaaS的功能。
主页:https://about.gitlab.com/
Buddy是一个CI/CD软件,它使用GitHub,Bitbucket和GitLab的代码构建,测试,部署网站和应用程序。它使用具有预安装语言和框架的Docker容器以及DevOps来监视和通知操作,并以此为基础进行构建。
Buddy主要功能:
许可:Buddy是免费的商业工具。
主页:https://buddy.works/
Travis CI是用于构建和测试项目的CI服务。Travis CI自动检测新提交并推送到GitHub存储库的提交。每次提交新代码后,Travis CI都会构建项目并相应地运行测试。
该工具支持许多构建配置和语言,例如Node,PHP,Python,Java,Perl等。
Travis主要功能:
许可:Travis CI是一项托管的CI/CD服务。私人项目可以在travis-ci.com上进行收费测试。可以在travis-ci.org上免费应用开源项目。
主页:https://travis-ci.com
Codeship是一个托管平台,可多次支持早期和自动发布软件。通过优化测试和发布流程,它可以帮助软件公司更快地开发更好的产品。
Codeship主要功能:
许可:每月最多免费使用100个版本,无限版本从$49/月开始。您可以为更大的实例大小购买更多的并发构建或更多的并行管道。
主页:https://codeship.com/
GoCD来自ThoughtWorks,是一个开放源代码工具,用于构建和发布支持CI/CD上的现代基础结构的软件。
许可:免费和开源
主页:https://www.gocd.org/
对于正在使用或正在考虑基于Docker启动新项目的开发人员,Wercker可能是一个合适的选择。Wercker支持组织及其开发团队使用CI/CD,微服务和Docker。
2017年4月17日,甲骨文宣布已签署最终协议收购Wercker。
Wercker主要功能:
许可:甲骨文在收购后未提供Wercker的价格信息。
主页:https://app.wercker.com
Semaphore是一项托管的CI/CD服务,用于测试和部署软件项目。Semaphore通过基于拉取请求的开发过程来建立CI/CD标准。
Semaphore主要功能:
许可:灵活。使用传统的CI服务,您会受到计划容量的限制。同时Semaphore 2.0将根据您团队的实际需求进行扩展,因此您无需使用该工具就不必付费。
主页:https://semaphoreci.com/
Nevercode支持移动应用程序的CI/CD。它有助于更快地构建,测试和发布本机和跨平台应用程序。
Nevercode主要功能:
许可:灵活。针对不同需求进行持续集成的不同计划。您可以从标准计划中选择,也可以请求根据自己的需求量身定制的计划。
主页:https://nevercode.io/
Spinnaker是一个多云连续交付平台,支持在不同的云提供商之间发布和部署软件更改,包括AWS EC2,Kubernetes,Google Compute Engine,Google Kubernetes Engine,Google App Engine等。
Spinnaker主要功能:
许可:开源
主页:https://www.spinnaker.io/
Buildbot是一个“基于Python的CI框架”,可自动执行编译和测试周期以验证代码更改,然后在每次更改后自动重建并测试树。因此,可以快速查明构建问题。
Buildbot主要功能:
许可:开源
主页:https://buildbot.net/