排名前五的Cloud iOS持续集成服务器奥运

iOS应用程序的持续集成(也称为CI)是我最喜欢的主题之一。 随着iOS团队中开发人员的增加,持续集成对于每个iOS项目都至关重要。 到目前为止,我对用于iOS项目的自托管CI服务器(如Xcode Server,TeamCity和Jenkins)具有深刻的经验。 但是,市场上仍然存在着一系列基于云的CI服务,这些服务在最近几天变得越来越流行。 这些基于云的CI服务有很多文章和推文。 我热衷于尝试这些服务,并通过将它们与我最喜欢的个人项目结合使用来获得一些机会 XCFit 。 为了做到这一点,我决定参加一场奥运会比赛,其中涉及大多数基于云的iOS持续集成服务候选人。

目的

除了TravisCI,我参加过的大多数服务都是我以前从未使用过的。 对我来说,这将是个很好的机会,让我自己熟悉那些CI服务并使用我的个人项目XCFit比较它们 这次奥运会的目的是分享我对基于云的iOS CI服务的经验和第一印象。 请注意,本竞赛的目的不是推荐您应为iOS项目使用的特定服务。

竞赛的全部目的是尝试分享这些基于云的iOS CI服务的第一印象。

免责声明:所表达的观点仅是我个人的观点,并不代表这个世界上任何其他人的观点或意见。 此评估仅针对 XCFit 项目 执行 ,并且可能因项目而异。

奥运选手

参加奥运会的选手是最常用的基于云的CI服务器,它支持iOS和macOS平台。 当前列表中有这些球员

  • BuddyBuild
  • 比特里斯
  • TravisCI
  • 永不编码
  • CircleCI

XCFit:游戏

这项奥林匹克竞赛将与XCFit项目进行竞争,我们将使用该库来尝试上述CI服务的功能。 这是我最喜欢的宠物项目XCFit之一,该项目是一个小型库,使我们能够以行为驱动开发(又称为BDD)的方式编写XCUITests。 此项目是CI服务器测试的有趣候选者,因为它包括

  • 随CocoaPods和Carthage发行的Swift框架
  • 可以通过Swift Package Manager分发的Swift Package
  • 使用Carthage构建的XCFit框架的示例应用程序
  • 使用RubyGems分发的Ruby包下载Xcode模板

由于该项目涉及很多工作,因此有趣的是,看看所有这些基于云的CI服务器如何对待该项目以在各自的平台上运行构建。

奥运田径

奥林匹克运动会,我们将用于本届比赛的是

  • 注册和项目设置
  • 默认构建配置
  • 生成执行
  • 建立人工制品和测试报告
  • 真实设备测试
  • 构建定制
  • 并行化和并行构建
  • 建立管道
  • 基础架构即代码
  • 目录缓存:CocoaPods和迦太基
  • 代码签名和分发
  • 第三方整合
  • 速度
  • 秘密商店
  • Xcode和Apple开发人员工具升级
  • 开源项目支持
  • 学习曲线
  • 文档和支持
  • 干净的UI / UX
  • 价钱

将根据这些游戏对玩家进行评估。 每个运动员都将获得金牌,银牌或铜牌。 最后,将在优缺点部分中讨论该评估的结果。 这将简要介绍基于云的iOS CI服务器的功能及其与iOS开发相关的功能。

20枚奥运奖牌

上述每个游戏都将获得一枚奖牌。 我们要提供的奖牌是金,银和铜牌。

  • 金牌

如果明确且异常满足用户和要求,那么玩家将获得标准金牌。

  • 银牌

如果执行得当,并且达到一定程度的满意度,玩家将获得特定标准的银牌。

  • 铜牌

如果满足最低要求,但对用户的满意度不高,则玩家将获得铜牌。 这是每项田径比赛都能获得的最低奖牌。

每个玩家将获得20枚奖牌,优胜者将根据金牌的数量来决定。 CI服务没有好坏之分,但优胜者将根据每个基于云的CI服务器仅针对XCFit项目的性能来宣布。 不同的项目可能会有不同的赢家。

5枚魔法勋章:最后

奥运会有20种不同的比赛,每名运动员将获得每枚奖牌。 这意味着每个玩家肯定会获得20枚奖牌,但是在评估进行时,将向玩家提供5枚魔术勋章,并在评估所有玩家后宣布。 5枚奖牌将基于以下标准

  • 评估期间的社交媒体支持
  • 在评估过程中更正我的观察结果
  • 接受事实并尊重竞争对手
  • 表现出改善服务的勇气
  • 用户对Twitter和公共API的反馈

BuddyBuild:第一人称

在iOS持续集成服务器奥林匹克竞赛中,第一个被选中的候选人是BuddyBuild。 由于其简单性和易用性,在Twitter和其他技术博客网站上最受欢迎的名称。 BuddyBuild专为支持iOS和Android平台的移动持续集成而设计。 BuddyBuild的客户包括一些著名品牌,例如《华盛顿邮报》,FireFox,Slack,Meetup等。

BuddyBuild的奥林匹克表演

我对20个条件中的每个条件都进行了BuddyBuild的严格评估,结果在此处的博客文章中共享。

XCBlog-iOS CI奥运会-第一层:BuddyBuild
iOS DevOps和持续交付,Apple开发人员工具,例如Swift,Xcode,XCTest,Xcode服务器,Swift软件包… shashikantjagtap.net

在20场比赛结束时BuddyBuild得分:

13金 🥇

6银 🥈

1铜🥉

BuddyBuild-XCFit构建日志

XCFit项目执行的构建日志可在此处获得。 我们可以导航到详细信息,日志和测试表以获取有关构建的更多信息。

Bitrise:第二人

在iOS连续服务奥林匹克竞赛中,第二位候选人是Bitrise。 Twitter上有许多关于Bitrise的中型文章和很多好话。 像BuddyBuild一样,Bitrise也专为支持iOS和Android平台的移动持续集成而设计。 Bitrise还获得了一些良好的客户,例如ABB,Foursquare,FOX,TNT等。

比特崛起的奥林匹克表演

我已经针对20条标准中的每条标准对Bitrise进行了严格的评估,结果在此处的博客文章中共享

XCBlog-iOS CI Olympics-第二层:Bitrise
iOS DevOps和持续交付,Apple开发人员工具,例如Swift,Xcode,XCTest,Xcode服务器,Swift软件包… shashikantjagtap.net

在20场比赛结束时Bitrise得分:

13金 🥇

7银 🥈

0青铜色

Bitrise — XCFit构建日志

XCFit项目执行的构建日志在此处可用,但是您需要具有一个帐户才能访问这些日志。

TravisCI:选手三

在iOS持续集成服务器奥林匹克竞赛中,第三名候选人是TravisCI,TravisCI是最常用的基于云的开源和私有项目持续集成。 它确实是开源测试的所在地。 如TravisCI页面所述,大约有90万个开源项目和60万个用户在TravisCI上进行持续集成。 它与GitHub紧密集成,并且在TravisCI上建立开源项目距开发人员只有一分钟的路程。

TravisCI的奥林匹克表演

我已经针对20条标准中的每条标准对TravisCI进行了严格的评估,结果在此处的博客文章中共享。

XCBlog-iOS CI奥运会-第三层:TravisCI
iOS DevOps和持续交付,Apple开发人员工具,例如Swift,Xcode,XCTest,Xcode服务器,Swift软件包… shashikantjagtap.net

在20场比赛结束时TravisCI得分:

12金 🥇

5银 🥈

3铜🥉

TravisCI — XCFit构建日志

XCFit项目执行的Travis构建日志可在此处获得。

Nevercode:玩家四

在iOS持续集成服务器奥林匹克竞赛中,选择的第四名候选人是Nevercode。 它专为支持iOS和Android平台的移动持续集成而设计。 Nevercode的客户包括Sainsbury’s,Toyota,Eurostar等一些大品牌。

Nevercode的奥林匹克表演

我已对20条标准中的每条标准进行了Nevercode的严格评估,结果在此处的博客文章中共享

XCBlog-iOS CI Olympic-Player四:Nevercode
iOS DevOps和持续交付,Apple开发人员工具,例如Swift,Xcode,XCTest,Xcode服务器,Swift软件包… shashikantjagtap.net

在20场游戏Nevercode得分结束时:

12金 🥇

5银 🥈

3铜🥉

Nevercode-XCFit构建日志

XCFit项目执行的构建日志在此处可用,但是您需要登录到Nevercode门户。

CircleCI:玩家五

在iOS连续集成服务器奥林匹克竞赛中,第三个候选者是CircleCI,它是由Facebook,Spotify,Percolate等最受欢迎的科技公司所使用的连续集成服务。每个平台都具有独特的功能。

CircleCI的奥林匹克表演

我已经针对20条标准中的每条标准对CircleCI进行了严格的评估,结果在此处的博客文章中共享

XCBlog-iOS CI奥运会-第五层:CircleCI
iOS DevOps和持续交付,Apple开发人员工具,例如Swift,Xcode,XCTest,Xcode服务器,Swift软件包… shashikantjagtap.net

CircleCI在20场比赛结束时得分:

12金 🥇

7银 🥈

1铜🥉

CircleCI — XCFit构建日志

XCFit项目执行的CircleCI构建日志可在此处获得。

20场奥运会奥运奖牌榜

到目前为止,我们已经完成了20场比赛,奖牌表如下所示:

魔术奖牌阶段

截至目前,我们可以看到,此时Bitrise与BuddyBuild之间存在激烈的战斗,但是TravisCI,CircleCI和Nevercode等其他公司之间的距离太近了。 但是,游戏尚未结束。 根据以下标准,我们仍将向每位玩家授予5枚魔术勋章

  • 评估期间的社交媒体支持
  • 在评估过程中更正我的观察结果
  • 接受事实并尊重竞争对手
  • 表现出改善服务的勇气
  • 用户对Twitter和公共API的反馈

将为每个标准授予一枚奖章。 这意味着每个玩家将获得25枚奖牌,而获胜者将是赢得最大GOLD奖牌的玩家。 如果有相等数量的金牌,那么我们将寻找数量的银牌。

魔术奖章奖

现在,我们需要为上述每个标准颁发魔术奖章。

BB = BuddyBuild
BR = Bitrise
TC = TravisCI
NC = Nevercode
CC = CircleCI

社交媒体支持(SMS)

在评估过程中,社交媒体获得了巨大的支持,尤其是在Twitter上。 评价期间喜欢回复和转发这些推文。 可以在这里找到示例Tweet。 BudduBuild和Nevercode在社交媒体支持上排名第一。 CircleCI加入较晚,但Bitrise和TravisCI没有表现出任何兴趣。 短信勋章

纠正意见(CO)

首先我还没有发现一些功能,但是玩家通过在Twitter,电子邮件和博客评论上与我交流来纠正我的错误。 Nevercode,BuddyBuild和Bitrise与我联系并更正了我的大部分观察。 纠正观察的奖牌是

接受事实并尊重竞争对手

与Twitter和电子邮件进行了一些对话,以接受事实并尊重竞争对手的工作。 BuddyBuild和Nevercode擅长于此。 接受事实的勋章是

展现改善服务的勇气

Nevercode和BuddyBuild对通过电子邮件和推文改善其服务表现出强烈的愿望。 勇于改善服务的勋章是

用户对Twitter和公共API的反馈

我已经在Twitter上收集了一些用户反馈,还收集了一些公共API,例如开源项目的状态标志和公共日志。 BudduBuild,TravisCI和CircleCI在Twiter和Public日志和API上都有很好的反馈。 Bitrise和Nevercode缺乏公共日志,一些Twitter用户报告说,Bitrise的Xcode 9升级存在问题,而Nevercode仍然无法使用Xcode 9构建我的系统。

最终奖牌榜和优胜者

现在,我们已将所有魔术牌授予所有玩家。 现在是时候宣布比赛的冠军了。

最终奖牌榜:

优胜者是………………..

恭喜,BuddyBuild!

我要感谢所有其他参与者,包括Bitrise,Nevercode,CircleCI和TravisCI。 从奖牌表中可以看到,这是一场艰苦的比赛,并非易事。

我们的亚军是Bitrise

如您所见,CircleCI和Nevercode非常接近。 无论如何,是BuddyBuild赢得了本届奥运会的冠军。 让我们一起庆祝BuddyBuild!

Cloud iOS CI Olympics Ceremony 2017结束了! 为明年的奥运会做好准备。

系列博客文章的参考

请注意,这是在我的个人博客“ XCBlog”上发布的一系列帖子的转发。 以下是基于云的iOS CI服务器Olympics上的系列博客文章:

  1. Cloud iOS CI Olympics简介
  2. iOS CI奥林匹克竞赛-第一播放器:BuddyBuild
  3. iOS CI奥林匹克运动会第二手:Bitrise
  4. iOS CI奥运选手三:TravisCI
  5. iOS CI奥运选手四:Nevercode
  6. iOS CI奥运-玩家五:CircleCI
  7. 宣布2017 Cloud iOS CI奥运冠军

希望你喜欢这篇文章。 如果您认为我想念/误解了一些内容,请告诉我。 感谢您的反馈。

像XCBlog的 XCTEQ 发布的帖子一样 您可能还喜欢我们的一些服务,例如访客博客或Mobile DevOps(CI / CD)或测试自动化。 Github 搜索我们的 服务 ,开源项目, 或者在 Twitter Facebook Youtube LinkedIn 上关注我们 下载我们的 XCBlog iOS应用程序以离线阅读博客。

X CTEQ 一家专门从事基于Mobile DevOps,CI / CD,Mobile,AI / ML的测试自动化Checkout XCTEQ产品和服务的公司, 网址 http://www.xcteq.co.uk 或写信给我们info@xcteq.co。英国..