问题描述
正在寻找一个适合在非美国地区托管的iOS CI/CD提供商,希望这些提供商的数据中心或构建服务器位于亚洲或至少是欧洲。用户需要在托管商提供构建和部署的解决方案,但目前对构建的需求更为迫切。
解决方案
请注意以下操作可能会因服务商差异或版本变更而略有不同。最佳答案是基于提供的问答数据和信息的,但可能还需要进一步的研究来确定最适合您的需求。
方案1: 使用 Buildkite
Buildkite(https://buildkite.com/)可能是一个值得考虑的选择。Buildkite总部位于澳大利亚,提供了一个支持多种工作流程和构建流水线的平台。该平台允许您设置构建代理,这些代理可以托管在云提供商或裸金属服务器上,而CI/CD非构建服务器本身则由Buildkite托管。此外,Buildkite支持各种GitHub Webhook,使您能够灵活地配置您的CI流程。
有关如何在Buildkite上设置iOS的CI/CD解决方案,您可以参考这篇文章:Continuous Integration for iOS with Nix and Buildkite,该文章介绍了如何使用Nix和Buildkite实现iOS的持续集成。需要注意的是,这仍然需要您设置构建代理,但相对于完全自行搭建的方案,可能更容易维护。
方案2: 部署自己的Jenkins
另一个选择是在自己的服务器上部署Jenkins。虽然您提到了您希望避免自己管理MacOS构建服务器,但是Jenkins提供了一种比较灵活的方式来设置构建和部署流程。您可以根据自己的需求自定义Jenkins插件和流水线,以适应您的iOS项目。这可能需要更多的管理工作,但也可以提供更高的定制性。
以下是一些关于在MacOS上设置Jenkins进行iOS持续集成的文章:
– Continuous Integration in iOS using Jenkins
– Continuous Integration for iOS with Jenkins
需要注意的是,部署自己的Jenkins服务器可能需要更多的系统管理工作,但如果您需要更大的灵活性和定制性,这可能是一个选择。
方案3: 考虑成本和需求
在选择CI/CD解决方案时,除了地理位置外,还需要考虑成本和特定需求。您提到了亚太地区的带宽费用较高,这可能会影响不同解决方案的经济效益。您可以通过与提供商沟通,了解他们的定价和套餐,以确定哪个解决方案最适合您的预算和需求。
请注意,虽然某些解决方案可能会在您的地理位置提供服务,但一些全球性的云提供商(如AWS,Azure,Google Cloud)可能也提供适用于不同地理位置的解决方案。您可以查询这些云提供商的数据中心分布以及与之相关的CI/CD解决方案。
总结
寻找适合非美国地区托管的iOS CI/CD解决方案是一个有挑战性的任务,需要权衡地理位置、成本、灵活性和定制性等多个因素。根据您的需求,您可以考虑使用Buildkite等平台,或者自行部署Jenkins。务必在选择之前进行充分的研究和测试,以确保您选择的解决方案能够满足您的预期需求。