作为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使用它。 :)

#1 楼


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


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

如果不能,那么我建议您检查一下托管的iOS持续集成系统,而不必使用Apple硬件。 /许可,该服务将为您进行管理,例如https://www.bitrise.io

还有一些服务可让您租用Apple hw,您可以按自己喜欢的任何方式进行配置,https://www.macstadium.com就是其中之一。 (可能是最大的)。

评论


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

–丹·博德纳(Dan Bodnar)
17年4月21日在12:58

#2 楼

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