一千萬個為什麽

搜索

針對多個iOS項目的持續集成基礎架構



作為一名iOS開發人員,我期待為我們目前開發的iOS項目創建CI和CCQ(=連續代碼質量)基礎結構。我們已經將Jenkins和SonarQube用於幾乎所有的Web和Android項目(使用VM foreach項目,安裝和配置CI和CCQ是自動的),並且效果很好。但對於iOS項目,Jenkins需要在運行macOS的計算機上構建,因此我不確定我是否擁有完美的解決方案。

  • I was looking into a solution to virtualise the macOS. For each project, to create a virtual macOS and install Jenkins as slave there to handle the builds. The solution looked perfect, but it seems it is not legal to have more than 2 VM running with macOS (and of course, only on Mac computer) http://images.apple.com/legal/sla/docs/macOS1012.pdf -> The point 2.B. So this isn't a solution for my case.
  • Another common solution I've read about is to have a Mac computer (maybe a MacMini) that will handle all the builds for all the projects. What do you think about this implementation? How many projects may it handle? Developers may need to do some configurations on their own project (especially in SonarQube), is it safe?
  • Can we have multiple Jenkins and SonarQube instances on the same machine, using different ports? Is this even a solution to be considered or I am talking non-sense?
  • Is there any other viable solution, maybe better than the ones above :) ?

註意:如果還有更適合iOS開發的其他工具,我不會堅持Jenkins + SonarQube二重奏,請與我分享。

轉載註明原文: 針對多個iOS項目的持續集成基礎架構

一共有 2 個回答:

是否還有其他可行的解決方案,或許比上面的更好?

由於您提到的許可證問題(您必須在Apple品牌的硬件上運行macOS),Jenkins可能不會。如果你可以使用它,那絕對是一個解決方案。

If not, then I'd suggest you to check for a hosted iOS continuous integration system where you don't have to deal with the Apple hardware/licensing, the service will manage it for you, e.g. https://www.bitrise.io

還有一些服務可供您租用Apple hw,您可以按照您喜歡的方式進行配置, https://www.macstadium.com 是其中的一個(可能是最大的一個)。

我想你也可以看看macOS的新輕量級虛擬化技術,稱為安卡。 Anka Build可以讓您在Apple硬件上設置虛擬化基礎架構,並使您能夠從Jenkins按需提供macOS Vms。