使用 AWS CodeBuild 将 macOS 添加到您的持续集成管道中

使用 AWS CodeBuild 将 macOS 添加到您的持续集成管道中

💡 原文中文,约4500字,阅读约需11分钟。
📝

内容提要

AWS CodeBuild现在支持在macOS上构建应用程序,用户可以在macOS 14 Sonoma上的托管Apple M2计算机上构建构件。AWS CodeBuild是一项完全托管的持续集成服务,可编译源代码、运行测试并生成可随时部署的软件包。用户可以使用Xcode在AWS云中为Apple系统构建、测试、签名和分发应用程序。

🔎

延伸解读

预留容量模式与成本考量

适用于 macOS 的 CodeBuild 仅支持预留容量实例集,这意味着构建计算机专供您使用,即使没有运行构建也会持续产生费用。容量预留遵循 Amazon EC2 Mac 的 24 小时最低分配期限,这是 macOS 软件许可协议的要求。因此,在规划 CI/CD 管道时,需要评估构建频率和持续时间,以平衡成本与构建效率。

实例集共享与状态清理

您可以在同一 AWS 账户的多个 CodeBuild 项目之间共享一个计算实例集,但实例集中的计算机是专供您使用的,只有 CodeBuild 可以访问。由于计算机会在构建之间重复使用,CodeBuild 会清理工作目录,但建议在开始新构建前重置全局状态(如 macOS 密钥链)和构建缓存(如 SwiftPM 和 Xcode 包缓存),以避免不同项目间的干扰。

自定义镜像的注意事项

如果选择自带自定义构建镜像,需确保镜像为 64 位 Mac-Arm 架构构建,并安装和启动 AWS Systems Manager Agent(SSM Agent),因为 CodeBuild 依赖 SSM Agent 来安装自己的代理和管理计算机。此外,还需确保 AMI 可用于 CodeBuild 组织 ARN。这些要求对于成功使用自定义镜像至关重要。

首次构建的等待时间

准备 Amazon EC2 Mac 实例并接受第一次构建需要 8-10 分钟。这不是 CodeBuild 特有的,而是 EC2 Mac 实例的准备时间。在此期间提交的构建将排队,并在计算机可用时按顺序运行。因此,在规划构建流程时,应将此初始延迟纳入考虑,尤其是对于需要快速反馈的开发场景。

❓

Q&A

AWS CodeBuild 如何支持 macOS 应用程序构建?

AWS CodeBuild 现在支持在 macOS 14 Sonoma 上的托管 Apple M2 计算机上构建应用程序,用户可以使用 Xcode 进行构建、测试和分发。

使用 AWS CodeBuild 构建 macOS 应用程序的主要步骤是什么?

主要步骤包括创建构建项目、配置专属实例集、添加构建触发器和定义 buildspec.yaml 文件。

AWS CodeBuild 在 macOS 上构建的挑战有哪些?

主要挑战包括准备构建所需的工具和扩展构建实例集以满足构建需求。

如何配置 AWS CodeBuild 的自动扩缩功能?

用户只需指定所需的容量,CodeBuild 将自动处理扩缩配置。

AWS CodeBuild 提供哪些预安装的开发工具?

CodeBuild 提供的标准磁盘映像包含预安装的 Xcode、Fastlane、Ruby、Python、Node.js 等开发工具。

准备 Amazon EC2 Mac 实例需要多长时间?

准备 Amazon EC2 Mac 实例并接受第一次构建需要大约 8-10 分钟。

🏷️

标签

➡️

继续阅读