iOS開発者として、私はこれまでに開発中のiOSプロジェクト用にCIおよびCCQ(= Continuous Code Quality)インフラストラクチャを作成しようとしていました。ほぼすべてのWebおよびAndroidプロジェクトにJenkinsとSonarQubeを使用しています(VM foreachプロジェクトを使用し、CIとCCQのインストールと構成は自動化されています)。しかし、iOSプロジェクトの場合、JenkinsはmacOSを実行しているコンピューターでビルドを行う必要があるため、そのための完璧なソリューションがあるかどうかはわかりません。
- macOSを仮想化するソリューションを探していました。各プロジェクトで、仮想macOSを作成し、ビルドを処理するためにそこにJenkinsをスレーブとしてインストールします。ソリューションは完璧に見えましたが、macOSで2つ以上のVMを実行することは違法であるようです(もちろん、Macコンピューターでのみ) http://images.apple.com/legal/sla/docs/macOS1012.pdf ->ポイント2.B。したがって、これは私の場合の解決策ではありません。
- 私が読んだ別の一般的な解決策は、すべてのプロジェクトのすべてのビルドを処理するMacコンピューター(MacMiniかもしれません)を持つことです。この実装についてどう思いますか?いくつのプロジェクトを処理できますか?開発者は自分のプロジェクト(特にSonarQube)でいくつかの設定を行う必要があるかもしれませんが、安全ですか?
- 異なるポートを使用して、同じマシン上で複数のJenkinsおよびSonarQubeインスタンスを使用できますか?これは考慮すべき解決策でさえありますか?
- 上記のソリューションよりも優れている可能性のある他の実行可能なソリューションはありますか?
注:Jenkins + SonarQubeのデュオにはこだわりません。iOS開発に適した他のツールがある場合は、それらを共有してください。