选择CI解决方案并没有灵丹妙药。您的选择将取决于您的团队规模,编程语言以及诸如个人喜好之类的简单内容。这就是为什么根据上述标准比较每个工具的特性很重要的原因。但是,某些工具已在市场上赢得了领导者的地位。这些领导者包括CircleCI,Travis CI和Jenkins。
1
CircleCI简介
CircleCI是用于CI和CD的基于云的工具。使用单元测试,集成测试和功能测试,它非常专注于测试所有提交的代码更改。Facebook,Kickstarter,Spotify,Lyft,Coinbase,Expedia,Stitch Fix和Dollar Shave Club等领先公司已经在CircleCI上成功运行了其开发过程。
CircleCI成立于2011年,总部位于旧金山,在2017年被Forrester评为持续集成领域的领导者。CircleCI受全球远程团队的支持和支持,CircleCI恪守自己的座右铭,帮助企业快速交付质量代码。该工具是测试持续集成过程的一个很好的选择,特别是对于使用容器化(Docker)的项目。
功能:
带有一些开放源代码私有代码库;可共享的构建配置包
支持在Linux或iOS构建环境中构建的所有语言
提供私有服务器和托管云选项
VCS:在云计划中使用GitHub的Bitbucket支持项目;服务器计划中的GitHub和GitHub Enterprise
虚拟机上的工作流程和自动化测试
轻量级yml配置设置的质量文档,可快速设置项目
开箱即用的云解决方案,设置后相对易于维护
2
Travis CI简介
Travis CI是为开源项目创建的工具,专注于CI。它使用自动化测试和精心设计的警报系统来改善构建过程。您可以快速测试您的代码– Travis将监督所有更改,并让您知道更改是否成功。与CircleCI一样,Travis CI也非常适合在持续集成开箱即用的解决方案中迈出第一步。但是,Travis CI没有免费的私人存储库计划-计划起价为每月69美元。
与CircleCI不同,Travis CI确实支持构建矩阵-该工具提供了使用不同版本的语言和程序包运行测试的机会。您可以按照自己的方式自定义它。例如,某些环境的失败可以触发通知,但不要使整个构建失败(这对于软件包的开发版本很有帮助)。
功能:
该软件的许多部分在GitHub上都是免费的,其中一些私有代码是用Ruby编写的
支持使用Linux,macOS以及(最重要的是Windows)构建的所有语言
私有服务器和托管云选项
VCS是GitHub
可以针对多个运行时和数据存储库或应用程序进行测试,而无需在多个操作系统上本地安装它们
详细记录的轻量级yml配置设置;预装的数据库和服务可快速设置项目
开箱即用的云解决方案,设置后相对易于维护
没有免费计划(仅免费试用2个并发工作和100个首次构建)
3
Jenkins简介
Jenkins是领先的开源持续集成工具。超过300个插件可支持几乎每个项目的构建和测试,从而使其可灵活应对最细微的细节。该工具可免费使用,但与其他盒装解决方案相比,其学习曲线难以设置和运行。这使Jenkins最适合大型公司的团队,在该团队中,专门的DevOps工程师可以支持和管理环境。这并非易事,因为Jenkins支持工程师必须精通Groovy编程语言。
功能:
用Java编写的完全开源的代码库
支持所有主要语言
在您自己的私有服务器或第三方云托管选项上运行
从理论上讲,与任何类型的版本控制系统兼容
强大的管道语法正在生成可帮助自动化许多流程(包括测试)的脚本
通过Jenkinsfile进行配置;可以自定义为最小的细节,但这可能是最复杂的过程之一,但值得庆幸的是,现在借助管道脚本可以轻松一些
最可定制的
所有Jenkins组件均可免费使用,但不要低估DevOps工程师自定义,配置和运行环境的时间和成本。
4
总结
Jenkins是开源方案中的最佳选择,使用上需要管理员能力。
CircleCI | TravisCI | Jenkins | |
---|---|---|---|
软件类型 | 部分开源 | 部分开源 | 全开源 |
操作系统 | Linux/Mac | Linux/Mac/win | 全支持 |
版本控制系统 | GitlaHub Bitbucket | Github | 全支持 |
云解决方案 | 支持 | 支持 | 支持 |
文末内容推送
扫描下图二维码,获取课程详情