多个iOS项目的持续集成基础架构


13

作为iOS开发人员,我一直在为迄今为止我们正在开发的iOS项目创建CI和CCQ(=连续代码质量)基础架构。我们已经将Jenkins和SonarQube用于几乎所有的Web和Android项目(使用VM foreach项目,自动安装和配置CI和CCQ),并且效果很好。但是对于iOS项目,Jenkins需要在运行macOS的计算机上进行构建,因此我不确定是否有完美的解决方案。

  • 我正在寻找一种虚拟化macOS的解决方案。对于每个项目,要创建一个虚拟macOS并将Jenkins作为从站安装在那里,以处理构建。该解决方案看起来很完美,但似乎不合法的是要在macOS上运行两个以上的VM(当然,仅在Mac计算机上) http://images.apple.com/legal/sla/docs/macOS1012.pdf ->点2.B。所以这不是我的情况的解决方案。
  • 我读过的另一种常见解决方案是有一台Mac计算机(也许是MacMini),它将处理所有项目的所有构建。您如何看待这种实施方式?它可以处理多少个项目?开发人员可能需要在自己的项目上进行一些配置(尤其是在SonarQube中),是否安全?
  • 我们可以在同一台计算机上使用不同端口使用多个Jenkins和SonarQube实例吗?这甚至是要考虑的解决方案,还是我在胡说八道?
  • 还有其他可行的解决方案,也许比上面的解决方案更好:)吗?

注意:我不坚持使用Jenkins + SonarQube组合,如果还有其他更适合iOS开发的工具,请与我分享。


@ Pierre.Vriens:这是连续代码质量。我不确定这是一个常用术语,还是SonarQube使用它。:)
Dan Bodnar

Answers:


10

还有其他可行的解决方案,也许比上面的解决方案更好:)吗?

对于Jenkins来说可能不是,因为您提到的许可证问题(您必须在Apple品牌的硬件上运行macOS)。如果您可以使用它,那绝对是一个解决方案。

如果没有,那么我建议您检查一下托管的iOS持续集成系统,在该系统中您无需处理Apple硬件/许可,该服务将为您管理它,例如https://www.bitrise。 io

也有一些服务可让您租用Apple hw,您可以随意配置它,https://www.macstadium.com是其中之一(可能是最大的一项)。


1
感谢您的回复。我仍在寻找解决方案。我认为MiniMac是目前的发展之路。
Dan Bodnar

2

我认为您也可以查看适用于macOS的称为Anka的新型轻量级虚拟化。Anka Build使您可以在Apple硬件上设置虚拟化基础架构,并使您能够按需从Jenkins设置macOS Vms。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.