关于持续集成工具对比

关于持续集成工具对比

持续集成工具:

三方对比

Jenkins GoCD drone
Github Stats 12K 4.6K beta 16.9K
(正式版本不开源)
优点(top5) 内部托管
免费开源
非常适合构建,部署或启动任何异步
大量的集成
丰富的插件和良好的文档
开源
管道依赖性
管道结构
可以并行运行作业
非常灵活
开源
建在docker上
免费开源
GitHub集成
灵活的脚本
缺点 缺少插件文档
声明性管道的能力有限
缺少插件
可怕的UI

对比内容参照: drone-io-vs-go-cd-vs-jenkins

Jenkins作为人尽皆知的持续部署工具,由于其庞大的插件和生态支持使它无所不能,规模较大的团队更喜欢使用Jenkins。GoCD是ThoughtWorks在做咨询和交付交付项目时自己开发的一款开源的持续集成工具,满足更复杂的部署实现,但是入门门槛却比其他两款CI高得不少。GoCD贯彻管道(pipeline)概念使其可以组合串行、并行执行任务,实现复杂的、精细的工作流。相比Jenkins也能在官网和社区的插件支持下实现类似效果,可是对比下来Jenkins中的管道只是相当于GoCD中一个单独的任务,如果不是存在复杂的部署需求不建议使用GoCD

最后能看出drone受关注程度比其余两者都高,是因为drone简单的UI和灵活的设计导致备受关注。对比Jenkins和GoCD在通道方面没有提供更多的支持,但是正由于其简单的设计容易理解之余扩展也十分简单。值得一提的是drone虽然插件没有Jenkins多,但是提供的插件文档和插件例子能作为自制插件提供很好的参考。可惜的是正式版本(1.0之后的版本)不再开源,如果是在小团队中使用还是非常值得考虑的。

参考: