适用于iOS的灵活持续集成

How Airbnb leverages AWS, Packer, and Terraform to update macOS on hundreds of Cl machines in hours instead of days

淘宝网是如何利用AWS、Packer和Terraform在数小时内更新数百台Cl机上的macOS的,而不是数天。

A person leans over the edge of a balcony. In the background are trees.

By: Michael Bachand, Xianwen Chen

By: Michael Bachand,Xianwen Chen

At Airbnb, we run a comprehensive suite of continuous integration (CI) jobs before each iOS code change is merged. These jobs ensure that the main branch remains stable by executing critical developer workflows like building the iOS application and running tests. We also schedule jobs that perform periodic tasks like reporting metrics and uploading artifacts.

在Airbnb,我们在每次合并iOS代码变更之前都会运行一套全面的持续集成(CI)工作。这些工作通过执行关键的开发人员工作流程,如构建iOS应用程序和运行测试,确保主分支保持稳定。我们还安排工作,执行定期任务,如报告指标和上传工件。

Many of our iOS CI jobs execute on Macs, which enables running developer tools provided by Apple. CI jobs for all other platforms at Airbnb execute in containers on Amazon EC2 Linux instances. To fulfill the macOS requirement of iOS CI jobs we have historically maintained alternate CI infrastructure outside of AWS specifically for iOS development. The introduction of Macs to AWS provided an opportunity for us to rethink our approach to iOS CI.

我们的许多iOS CI工作都是在Mac上执行的,这样可以运行苹果公司提供的开发者工具。Airbnb所有其他平台的CI工作都在亚马逊EC2 Linux实例上的容器中执行。为了满足iOS CI工作的macOS要求,我们历来在AWS之外为iOS开发维护备用的CI基础设施。将Mac引入AWS为我们提供了一个机会,让我们重新思考我们的iOS CI方法。

We designed the next iteration of our iOS CI system in late 2021, finished the migration to the new system in mid 2022, and polished the system through the end of 2022. CI for iOS and all other platforms at Airbnb already leveraged Buildkite for dispatching jobs. Now, we deploy iOS CI infrastructure to AWS using Terraform, which helps align CI for iOS with CI for other platforms at Airbnb.

我们在2021年底设计了iOS CI系统的下一次迭代,在2022年中期完成了向新系统的迁移,并在2022年底对系统进行了打磨。Airbnb的iOS和所有其他平台的CI已经利用了Buildkite来调度作业。现在,我们使用Terraform将iOS的CI基础设施部署到AWS,这有助于使iOS的CI与Airbnb的其他平台的CI保持一致。

In this article, we are excited to share with you details of the flexible and easy-to-maintain iOS CI system that we’ve implemented with Amazon EC2...

开通本站会员,查看完整译文。

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.124.0. UTC+08:00, 2024-04-21 00:32
浙ICP备14020137号-1 $访客地图$