写点什么

22 款受欢迎的 CI 工具,你想要的都在这里!

2020 年 5 月 14 日

22款受欢迎的CI工具,你想要的都在这里!

市场上持续集成工具众多,找到一个合适的工具并非易事。本文将汇总介绍 22 个比较受欢迎的 CI 工具,其中有开源产品也有商业闭源产品,我们将总结每个工具的特点,并附上了下载链接。


1. Buddy

对 Web 开发者来说,Buddy 是一个智能的 CI/CD 工具,降低了 DevOps 的入门门槛。Buddy 使用 DeliveryPipeline 进去软件构建、测试及发布,创建 Pipeline 时,100 多个就绪的操作可随时投入使用,就像砌砖房一样。


特点:


  • 清晰的配置,友好的交互,15 分钟快速配置

  • 基于变更集(changeset)的快速部署

  • 构建运行在使用缓存依赖的独立容器中

  • 支持所有流行的语言、框架和任务管理器

  • Docker / Kubernetes 专用操作手册

  • 与 AWS,Google,DigitalOcean,Azure,Shopify,WordPress 等集成

  • 支持并行和 YAML 配置


下载链接:https://buddy.works


2. Jenkins

Jenkins 是一个开源的持续集成工具,使用 Java 编程语言编写的。它有助于实时检测和报告较大代码库中的单一更改。该软件可帮助开发人员快速查找和解决代码库中的问题并自动测试其构建。


特点:


  • 支持海量节点扩展并在节点中同等分发工作负载

  • 在各版本 Linux、Mac OS 或 Windows 等全平台轻松更新

  • 提供了 WAR 格式的简易安装包,执行导入 JEE 容器中即可运行安装

  • 可以通过 Web 界面轻松设置和配置 Jenkins

  • 可轻松跨机器分发


下载链接:https://jenkins.io/download/


3. TeamCity

TeamCity 是一款拥有很多强大功能的持续集成服务器。


特点:


  • 可扩展性和自定义

  • 为项目提供更好的代码质量

  • 即使没有运行构建,也能保持 CI 服务器健康稳定

  • 可在 DSL 中配置构建

  • 项目级云配置文件

  • 全面的 VCS 集成

  • 即时构建进度报告

  • 远程运行和预先测试的提交


下载链接:https://www.jetbrains.com/teamcity/download/#section=windows


4. Drone

Drone 是一个非常的开源 CI 工具。它其实是原生 Docker,所有的进程都在容器内进行。这也使得 Drone 非常适合像 Kubernetes 这样的平台,因为在 Kubernetes 上启动容器很简单。


特点:


  • 配置为代码:Pipeline 配置了一个简单易读的文件,可以直接提交至 git 仓库;每个 Pipeline 步骤都在一个隔离的 Docker 容器中执行。

  • 创建和共享插件:Drone 使用容器将预先配置的步骤放入 pipeline 中,用户可以从数百个现有插件中进行选择,或创建自己的插件。

  • 易于定制:实现自定义访问控制、批准工作流、机密管理、yaml 语法扩展等。

  • 易于安装:Drone 为开源产品,用户可下载官方 Docker 镜像或从源代码构建。


下载链接:https://drone.io


5. Travis CI

Travis 是一款流行的 CI 工具,可免费用于开源项目。在托管时,不必依赖任何平台。此 CI 工具为许多构建配置和语言提供支持,如 Node,PHP,Python,Java,Perl 等。


特点:


  • Travis 使用虚拟机构建应用程序

  • 可通过 Slack,HipChat,电子邮件等通知

  • 允许运行并行测试

  • 支持 Linux、Mac 以及 iOS

  • 易于配置,无需安装

  • 强大的 API 和命令行工具


下载链接:https://github.com/travis-ci/travis-ci


6. GoCD

GoCD 是一个开源的持续集成服务器。它可轻松模拟和可视化复杂的工作流程。此 CI 工具允许持续交付,并为构建 CD Pipeline 提供直观的界面。


特点:


  • 支持并行和顺序执行,可以轻松配置依赖

  • 随时部署任何版本

  • 使用 Value Stream Map 实时可视化端到端工作流程

  • 安全地部署到生产环境

  • 支持用户身份验证和授权

  • 保持配置有序

  • 有大量的插件增强功能

  • 活跃的社区帮助和支持


下载链接:https://www.gocd.org/download/


7. Bamboo

Bamboo 是一个持续集成的构建服务器,可以自动构建、测试和发布,并可与 JIRA 和 Bitbucket 无缝协作。Bamboo 支持多语言和平台,如 CodeDeply、Ducker、Git,SVN、Mercurial、AWS 及 Amazon S3 bucket。


特点:


  • 可并行运行批量测试

  • 配置简单

  • 分环境权限功能允许开发人员和 QA 部署到他们的环境

  • 可以根据 repository 中检测到的更改触发构建,并从 Bitbucket 推送通知

  • 可托管或内部部署

  • 促进实时协作并与 HipChat 集成

  • 内置 Git 分支和工作流程,并自动合并分支


下载链接:https://www.atlassian.com/software/bamboo


8. Gitlab CI

GitLab CI 是 GitLab 的一部分。它是一个提供 API 的 Web 应用程序,可将其状态存储在数据库中。GitLab CI 可以管理项目并提供友好的用户界面,并充分利用 GitLab 所有功能。


特点:


  • GitLab Container Registry 是安全的 Docker 镜像注册表

  • GitLab 提供了一种方便的方法来更改 issue 或 merge request 的元数据,而无需在注释字段中添加斜杠命令

  • 为大多数功能提供 API,允许开发人员进行更深入的集成

  • 通过发现开发过程中的改进领域,帮助开发人员将他们的想法投入生产

  • 可以通过机密问题保护您的信息安全

  • GitLab 中的内部项目允许促进内部存储库的内部 sourcing


下载链接:https://about.gitlab.com/installation/


9. CircleCI


Circle CI 是一个灵活的 CI 工具,可在任何环境中运行,如跨平台移动应用程序、Python API 服务器或 Docker 集群,该工具可减少错误并提高应用程序的质量。


特点:


  • 允许选择构建环境

  • 支持多语言及平台,如 Linux,包括 C ++,Javascript,NET,PHP,Python 和 Ruby

  • 支持 Docker,可以配置自定义环境

  • 触发较新的构建时,自动取消排队或正在运行的构建

  • 跨多容器分割和平衡测试,以减少总体构建时间

  • 禁止非管理员修改关键项目配置

  • 通过发送无错误的应用程序提高 Android 和 iOS 商店评级

  • 最佳缓存和并行性能,实现高性能

  • 与 VCS 工具集成


下载链接:https://circleci.com/


10. Codeship

Codeship 是一个功能强大的 CI 工具,可自动化开发和部署工作流程。Codeship 通过简化到 repository 的 push 来触发自动化工作流程。


特点:


  • 可完全控制 CI 和 CD 系统的设计。

  • 集中的团队管理和仪表板

  • 轻松访问调试版本和 SSH,有助于从 CI 环境进行调试

  • 可完全定制和优化 CI 和 CD 工作流程

  • 允许加密外部缓存的 Docker 镜像

  • 允许为您的组织和团队成员设置团队和权限

  • 有两个版本 1)Basic 和 2)Pro


下载链接:https://codeship.com/


11. Buildbot

Buildbot 是一个软件开发 CI,可以自动完成编译/测试周期。它被广泛用于许多软件项目,用以验证代码更改。它提供跨平台 Job 的分布式并行执行。


特点:


  • 为不同体系结构的多个测试主机提供支持。

  • 报告主机的内核崩溃

  • 维护单源 repository

  • 自动化构建

  • 每个提交都在集成机器上的主线上构建

  • 自动部署

  • 开源


下载链接:https://buildbot.net/


12. Nevercode

Nevercode 是一个基于云端的 CI 传送服务器,可以构建、测试和分发应用程序而无需人工交互。此 CI 工具自动为每个提交构建项目,并在模拟器或真实硬件上运行所有单元测试 或 UI 测试。


特点:


  • 基于云服务,因此无需维护服务器

  • 易于学习和使用

  • 良好的文档,易于阅读和理解

  • 通过持续集成和交付自动化整个开发过程

  • 与众多工具集成


下载链接:https://nevercode.io/


13. Integrity

Integrity 是一个持续集成服务器,仅适用于 GitHub。在此 CI 工具中,只要用户提交代码,它就构建并运行代码。它还会生成报告并向用户提供通知。


特点:


  • 目前仅适用于 Git,但它可以轻松地映射其他 SCM

  • 支持多通知机制,如 AMQP,电子邮件,HTTP,Amazon SES,Flowdock,Shell 和 TCP

  • HTTP 通告功能将以 HTTP POST 请求发送到特定 URL


下载链接:http://integrity.github.io/


14. Strider

Strider 是一个开源工具,用 Node.JS / JavaScript 编写。它使用 MongoDB 作为后端存储。因此,MongoDB 和 Node.js 对于安装此 CI 至关重要。该工具为不同的插件提供支持,这些插件可修改数据库 schema 并注册 HTTP 路由。


特点:


  • Strider 可与 GitHub,BitBucket,Gitlab 等集成。

  • 允许添加钩子来执行构建操作

  • 持续构建和测试软件项目

  • 与 GitHub 无缝集成

  • 发布和订阅 socket 事件

  • 支持创建和修改 Striders 用户界面

  • 强大的插件,定制默认功能

  • 支持 Docker


下载链接:https://github.com/Strider-CD/strider


15. AutoRABIT

AutoRABIT 是一个端到端的持续交付套件,可以加快开发过程。它简化了完整的发布流程,并可以帮助任何规模的组织实现持续集成。


特点:


  • 专门设计用于在 Salesforce Platform 上部署

  • 支持基于 120 多种元数据类型的更改,实现精简和快速部署

  • 从版本控制系统获取更改并自动部署到 Sandbox 中

  • 直接从 Sandbox 自动向版本控制系统提交更改


下载链接:http://www.autorabit.com/tag/autorabit-download/


16. FinalBuilder

FinalBuilder 是 VSoft 的构建工具。使用 FinalBuilder,无需编辑 XML 或编写脚本。在使用 Windows 调度程序调度构建脚本时,可以定义和调试构建脚本,或者与 Jenkins,Continua CI 等集成。


特点:


  • 以逻辑结构化的图形界面呈现构建过程

  • 使用 try 和 catch 操作处理本地错误

  • 与 Windows 调度服务紧密集成,支持定时构建

  • 支持十几个版本控制系统

  • 提供脚本支持

  • 构建过程中所有操作的输出都将定向到构建日志


下载链接:https://www.finalbuilder.com/downloads/finalbuilde


17. Wercker

Wercker 是一个 CI 工具,可自动构建和部署容器。它可以创建可以通过命令行界面执行的自动化管道。


特点:


  • 与 GitHub 和 Bitbucket 完全集成

  • 使用 Wercker CLI 进行更快的本地迭代

  • 同时执行构建以保持团队的机动

  • 运行并行测试以减少团队的等待时间

  • 集成了 100 多种外部工具

  • 通过产品和电子邮件接收系统通知


下载链接:http://www.wercker.com/


18. Buildkite

Buildkite 代理是一个可靠的跨平台构建工具。此 CI 工具可以在础架构上轻松地运行自动构建。它主要用于运行构建 Job,报告 Job 的状态代码并输出日志。


特点:


  • 可在各种操作系统和体系结构上运行

  • 可以从任何版本控制系统运行代码

  • 允许在计算机上运行任意数量的构建代理

  • 可与 Slack,HipChat,Flowdock,Campfire 等工具集成

  • 永远不会读取源代码或密钥

  • 提供稳定的基础设施


下载链接:https://buildkite.com/


19. Semaphore

Semaphore 是一个持续集成工具,只需按一下按钮即可测试和部署代码。它支持多种语言、框架并可与 GitHub 集成,还可以执行自动测试和部署。


特点:


  • 配置简单

  • 允许自动并行测试

  • 市场上最快的 CI 之一

  • 可以轻松覆盖不同大小的项目数量

  • 与 GitHub 和 Bitbucket 无缝集成


下载链接:https://semaphoreci.com


20. CruiseControl

CruiseControl 既是 CI 工具又是一个可扩展的框架。它用于构建自定义连续的构建。它有许多用于各种源代码控制的插件,包括针对电子邮件和即时消息的构建技术。


特点:


  • 与许多不同的源代码控制系统集成,如 vss,csv,svn,git,hg,perforce,clearcase,filesystem 等

  • 允许在单个服务器上构建多个项目

  • 与其他外部工具集成,如 NAnt,NDepend,NUnit,MSBuild,MBUnit 和 Visual Studio

  • 支持远程管理


下载链接:http://cruisecontrol.sourceforge.net/download.html


21. Bitrise

Bitrise 是一个持续集成和交付 PaaS,它可以为整个团队提供移动持续集成和交付。它允许与 Slack,HipChat,HockeyApp,Crashlytics 等许多流行服务集成。


特点:


  • 允许在终端中创建和测试工作流程

  • 无需手动控制即可获得应用程序

  • 每个构建在其自己的虚拟机中单独运行,并且在构建结束时丢弃所有数据

  • 支持第三方 beta 测试和部署服务

  • 支持 GitHub Pull Request


下载链接:https://github.com/bitrise-io/bitrise#install-and-setup


22. UrbanCode

IBM UrbanCode 是一个 CI 应用程序。它将强大的可见性,可追溯性和审计功能整合到一个软件包中。


特点:


  • 通过自动化,可重复的部署流程提高软件交付频率

  • 减少部署失败

  • 简化多渠道应用程序的部署,无论是在本地还是在云中,都可以部署到所有环境

  • 企业级安全性和可扩展性

  • 混合云环境建模

  • 拖放自动化


下载链接:https://www.ibm.com/ms-en/marketplace/application-release-automation


结语

容器技术被越来越多地用于大型项目之中,如何通过一致的流程和工作流来简化大型项目的部署,变得愈发重要。Rancher Kubernetes 管理平台让用户通过一个自动化的过程,即可方便快速地创建及管理多 Kubernetes 集群。Rancher 平台对 Jenkins、GitLab CI、Drone 等流行的 CI 工具都提供了优秀的支持,内嵌的 Rancher Pipeline 也有着极简的操作体验和强大的功能整合。作为用户,使用场景和需求都不尽相同,选择最适合自己的就好。


2020 年 5 月 14 日 22:26818

评论

发布
暂无评论
发现更多内容

创业公司技术体系建设-CI/CD

星际行者

CI/CD

骚操作!用 CPU 烤肉,这位程序员做到了!

程序员生活志

程序员 gpu 程序人生

秒懂云通信:如何用阿里云语音通知服务(小白指南)

阿里云Edge Plus

语音

Springboot拦截器使用及其底层源码剖析

南方有乔木兮

继oneAPI之后,英特尔为异构计算跨架构编程再添“利器” 发布全新机器编程系统

最新动态

Android Development最佳实践

teoking

机器学习基石第四节 学习笔记

半亩房顶

Machine Learning

Spring系列第2篇:控制反转(IoC)与依赖注入(DI),晦涩难懂么?

老大哥

IDEA 插件找不到?看这里!那就自己敲一个!

程序员小航

json IDEA 开发工具 idea插件 IntelliJ IDEA

LeetCode题解:189. 旋转数组,使用新数组Copy,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

助力银行核心下移,监控分布式数据库,融天鹰眼轻松应对五大挑战

DT极客

实现扫码登陆的最简单方案与原理

Java小咖秀

Java 解决方案 经验总结

海华大赛第一名团队聊比赛经验和心得:AI在垃圾分类中的应用

华为云开发者社区

AI 算法 数据分析 垃圾回收机制 华为云

【华为云技术分享】DLI跨源|当DLI遇见MongoDB

华为云开发者社区

数据库 mongodb dlib 数据集 华为云

六字说出微服务的本质

看山

架构 微服务

新技术(区块链)--让游戏行业走的更远

CECBC区块链专委会

区块链技术 防篡改不可逆

并发编程基础原理

刚刚🏂

一年多远程工作经验,说说真实的感受

盛安德软件

webRTC框架下的视频主动丢帧

fumingwang

音视频 WebRTC

java高并发系列 - 第11天:线程中断的几种方式

简爱W

(政务上链)新数据孤岛、安全风险等问题待解

CECBC区块链专委会

工作效率 公开透明 新技术

Java异步之《我call(),Future在哪里》

BUZHIDAO

机器学习基石第一节 学习笔记

半亩房顶

Machine Learning

ARTS打卡Week 09

teoking

【写作群星榜】7.24~7.31 写作平台优秀作者 & 文章排名

InfoQ写作平台官方

写作平台 排行榜

机器学习基石第二节 学习笔记

半亩房顶

Machine Learning

零代码可视化开发平台iVX是什么?

代码制造者

编程语言 可视化 零代码 iVX

架构师技术领导力成长之路

IT民工大叔

领导力 架构师

腾讯安全领御区块链与张裕集团达成战略合作,打造高端葡萄酒区块链溯源平台

CECBC区块链专委会

产品溯源 无法篡改

信创舆情一线--抖音、微信读书被判侵害用户个人信息权益

统小信uos

机器学习基石第三节 学习笔记

半亩房顶

Machine Learning

22款受欢迎的CI工具,你想要的都在这里!-InfoQ