2017年6月7日 - 杰夫·凯尔西

GitLab CI如何支持特玛的斜坡上升到每周移动版本

特玛Android开发者杰夫·凯尔西股为什么GitLab CI是一个改变游戏规则为自己的球队。

这一直为特玛移动队拿到每周发布一个目标。在今年上半年,我们能够完成它,因为二月每周提供Android和iOS应用两个新版本。我们已经看到我们的球迷的积极影响,它甚至比我们想象的要简单 - 让我们的整个应用程序开发过程中要好得多。

但它并不是一开始就这样...

评价-2更快,更一致的发布周期导致的票务应用程序的用户提供更好的体验风扇。

There comes a time in every engineer’s career when a part of your tech stack no longer passes the “smell test." Usually, there is some sort of dramatic event where something that was generally accepted as “isn’t the best, but it works” changes to “this is now a problem.” For me and the Ticketmaster mobile team, this event happened with our Jenkins-based CI pipeline in February.

我们即将发布的Android应用的最新版本,但在构建一个错误。我们忘了增加了Android的versionCode,这意味着我们需要更新,并创建一个新的二进制文件上传到商店。这是一天的结束,一个阳光明媚的午后迅速衰落黑暗好莱坞。现在是下午6时PST,和每个人都急于离开。

“没问题,”我想。我可以在本地构建发布不到三分钟的,提供文件给QA团队,我们都可以得到我们的方式。

“不会帮助我们,”我回应高标准和卓越的QA团队。

“所有版本都需要来自CI的一致性。”他们是对的。本地编译不会是生产安全。manbetx体育客户端3.0如果一些关于我的机器的配置引入了一个问题?

“好了,多长时间后才会得到通过我们的詹金斯CI管道创建的发布版本?”我问,盘算的时间不能低于第30分钟。

“这需要两个小时,”反应过来。唉...将是一个深夜。

sysiphus

我们的老CI管道

GitLab CI保存一天(一天!)

两...小时... ...对于一个微小的变化。现在,我不能躺了一对詹金斯的责任。其中一些可能已经是我们自己的错,产生了太多的构建口味,迫使步骤和运行不赞成使用的功能额外的测试之间的干净重建。但是,很明显,我们需要改变,并在CI变得更好。詹金斯一直在过去几年有点笨重。通过插件和多年传统发展的拖累,这也是我们难以更新詹金斯机与新的SDK,我们不得不依靠其他球队来协助我们。我们显然需要一个新的开始。

我们一直在使用GitLab在特玛数年的代码审查和视觉上浏览我们的git的历史,因此它是有道理的,试图利用GitLab的新CI工具是值得一试。我开始与一个有用的Android博客文章从格雷松Parrelli设立GitLab CI

但我很快就遇到了一个问题。在特玛我们使用亚马逊ECR我们搬运工人集装箱注册表而不是回购GitLab,就像在教程。随着阿马多尔的Kraig,蒂姆·尼科尔斯,和其他人的帮助下,在特玛,我学会了如何把我的码头工人集装箱图像亚马逊ECR和拉下来每个Android编译在GitLab CI。最终的结果是一个显着的改善:

gitlab慈我们GitLab CI构建和测试在8分钟到构建,测试和发布的文物。

总计不到八分钟致力于构建,测试和产生伪影。我们可以用摇篮和SonarQube插件来帮助我们计算出的代码质量与每一个承诺,我们的代码库,让我们通过失败的测试,以评估我们所有的合并请求,除了更有价值的信息。这使我们的团队人数来衡量和对化妆的目标。

我们可以在一个地方看到的一切,在GitLab。iOS的团队有一个更复杂的管道,但随后很快用自己的,当地的跑者的跑步他们的测试。自从二月我们有我们的移动应用程序每周发布和GitLab CI一直是我们在过去的几个版本中成功的重要部分。

从GitLab神器每周发布

每周释放GitLab CI帮助我们获得每周发布更一致采纳的新​​版本。

随着更快的周期时间的益处,更快的版本中,我们已经看到了其他的好处。由于每个版本具有更小的更改集,我们的自由碰撞率和商店评分有所改善。我们为构建更少的时间等待和花费更多的时间来提高我们的产品质量。manbetx体育客户端3.0我们的球迷们从更高的品质和一贯的完善产品的功能越来越成为他们的手更快,更受益。manbetx体育客户端3.0在GitLab可用的CI分析对于我们的团队来优化额外的记分牌,提高到未来。

现在,每当我们新的SDK集成到我们的移动应用程序,我们正在帮助其他球队得到他们的SDK的设立在GitLab CI推一体化构建我们的集成和功能测试套件为我们的过程的一部分。我们是让创新速度更快

事情是我们的CI管道仅在几个月前显得很零碎。现在,它是一个完全不同的球赛。如果你的团队正在寻找一种方式来呼吸新鲜的生活遗赠CI管道,我建议考虑看看GitLab CI。这是一个真正的游戏改变者我们的移动团队特玛。

综述1评价-3

关于作者

杰夫·凯尔西是特玛的Android开发团队的首席工程师。找到他的Twitter@jeffkelsey

尝试所有GitLab功能 - 免费试用30天

GitLab岂止源代码管理或CI / CD。它是在一个单一的应用程序完整的软件开发生命周期及的DevOps工具。

1Manbetx
manbetx客户端打不开

尝试GitLab无风险的30天。

无需信用卡。有问题吗?联系我们。

Gitlab x图标SVG