这可能是一个简单的问题。 我有一位客户在 AWS 内拥有重要的业务/基础设施。 为客户启动一个新的移动应用程序,他们表示希望尽可能多地利用 AWS 工具集。 然而,在浏览了 AWS CodeBuild 等工具的所有文档后,我不知道如何在该平台上构建 iOS 应用程序。 我是否错过了什么,您可以使用 AWS CodePipeline 和 AWS CodeBuild 等 AWS 工具集从 React Native 自动化构建 iOS 和 Android 应用程序吗?
我的信念是,您只能使用 Android,因为您没有基于 MacOS 的服务器来实际编译底层 iOS 代码。
Codebuild 使用 docker 创建构建环境。 AWS 创建了一大堆用于常规开发目的的 docker 镜像,完整列表位于here。
如果您需要自定义构建环境,或创建完全独特的东西,那没问题。只需创建要用作构建环境的 docker 映像(例如 MacOS 服务器),将其上传到 Amazon EC2 容器注册表,然后在 CodeBuild 中引用该映像即可。有关详细信息,请参阅此处。
构建环境是包含完整文件的 Docker 镜像 系统包含构建和测试项目所需的一切。使用 在 CodeBuild 项目中的自定义构建环境中,您可以构建 您的平台的容器映像包含您的构建工具、推送 它到 Docker 容器注册表,例如 Amazon EC2 Container 注册表(ECR),并在项目配置中引用它。什么时候 构建您的应用程序时,CodeBuild 将检索 Docker 映像 来自项目配置中指定的容器注册表和 使用环境来编译源代码、运行测试,以及 打包您的申请。
编辑:请参阅下面的评论。由于 docker 目前不支持 MacOS 镜像,而 iOS 应用程序基本上需要 MacOS 主机才能构建,因此我得出的结论是不可能在 Codebuild 上构建 iOS 应用程序。
您可以使用 Jenkins 构建系统(以 MacOS 作为代理)来与 CodeBuild 配合使用。您的 CodeBuild 可以使用 Jenkins 构建系统来编译为 ios 代码。
AWS CodeBuild 现在支持 Mac 构建 - https://aws.amazon.com/about-aws/whats-new/2024/08/aws-codebuild-mac-builds