Als iOS-Entwickler wollte ich eine CI- und CCQ-Infrastruktur (= Continuous Code Quality) für die iOS-Projekte erstellen, die wir bisher in der Entwicklung haben. Wir verwenden Jenkins und SonarQube bereits für fast alle Web- und Android-Projekte (die Installation und Konfiguration von CI und CCQ erfolgt mithilfe eines VM foreach-Projekts automatisch) und es funktioniert hervorragend. Für die iOS-Projekte muss Jenkins jedoch auf einem Computer mit MacOS erstellt werden. Daher bin ich mir nicht sicher, ob ich die perfekte Lösung dafür habe.
- Ich habe nach einer Lösung gesucht, um das macOS zu virtualisieren. Erstellen Sie für jedes Projekt ein virtuelles MacOS und installieren Sie dort Jenkins als Slave, um die Builds zu verwalten. Die Lösung sah perfekt aus, aber es scheint nicht legal zu sein, mehr als 2 VMs mit macOS laufen zu lassen (und natürlich nur auf Mac-Computern) http://images.apple.com/legal/sla/docs/macOS1012.pdf -> Der Punkt 2.B. Das ist also keine Lösung für meinen Fall.
- Eine andere gängige Lösung, über die ich gelesen habe, ist ein Mac-Computer (möglicherweise ein MacMini), der alle Builds für alle Projekte verwaltet. Was halten Sie von dieser Implementierung? Wie viele Projekte kann es behandeln? Entwickler müssen möglicherweise einige Konfigurationen in ihrem eigenen Projekt vornehmen (insbesondere in SonarQube). Ist dies sicher?
- Können auf demselben Computer mehrere Jenkins- und SonarQube-Instanzen mit unterschiedlichen Ports ausgeführt werden? Ist das überhaupt eine Lösung oder spreche ich sinnlos?
- Gibt es eine andere praktikable Lösung, vielleicht besser als die oben genannten :)?
Hinweis: Ich halte mich nicht an Jenkins + SonarQube duo. Wenn es andere Tools gibt, die besser für die iOS-Entwicklung geeignet sind, teilen Sie sie mir bitte mit.