Как разработчик iOS, я хотел создать инфраструктуру CI и CCQ (= Continuous Code Quality) для проектов iOS, которые мы разрабатываем до сих пор. Мы уже используем Jenkins и SonarQube почти для всех проектов Web и Android (с использованием проекта VM foreach, автоматическая установка и настройка CI и CCQ), и это прекрасно работает. Но для проектов iOS, Дженкинс должен сделать сборку на компьютере под управлением MacOS, поэтому я не уверен, что у меня есть идеальное решение для этого.
- Я искал решение для виртуализации MacOS. Для каждого проекта создать виртуальную macOS и установить Jenkins в качестве подчиненного для обработки сборок. Решение выглядело идеально, но, по-видимому, незаконно иметь более 2 ВМ, работающих с macOS (и, конечно, только на компьютере Mac) http://images.apple.com/legal/sla/docs/macOS1012.pdf -> Точка 2.Б. Так что это не решение для моего случая.
- Другое распространенное решение, о котором я читал, - это наличие компьютера Mac (возможно, MacMini), который будет обрабатывать все сборки для всех проектов. Что вы думаете об этой реализации? Сколько проектов он может обработать? Разработчикам может потребоваться выполнить некоторые настройки в своем собственном проекте (особенно в SonarQube), это безопасно?
- Можем ли мы иметь несколько экземпляров Jenkins и SonarQube на одной машине, используя разные порты? Это даже решение, которое нужно рассмотреть, или я говорю бессмысленно?
- Есть ли другое жизнеспособное решение, может быть, лучше, чем те, что указаны выше :)?
Примечание: я не привязан к дуэту Jenkins + SonarQube, если есть другие инструменты, более подходящие для разработки под iOS, пожалуйста, поделитесь ими со мной.