Como desarrollador de iOS, buscaba crear una infraestructura de CI y CCQ (= calidad de código continuo) para los proyectos de iOS que tenemos en desarrollo hasta ahora. Ya usamos Jenkins y SonarQube para casi todos los proyectos web y Android (el uso de un proyecto VM foreach, la instalación y configuración de CI y CCQ es automática) y funciona muy bien. Pero para los proyectos de iOS, Jenkins necesita hacer la compilación en una computadora con macOS, por lo que no estoy seguro de tener la solución perfecta para eso.
- Estaba buscando una solución para virtualizar macOS. Para cada proyecto, crear un macOS virtual e instalar Jenkins como esclavo para manejar las compilaciones. La solución parecía perfecta, pero parece que no es legal tener más de 2 máquinas virtuales en ejecución con macOS (y, por supuesto, solo en la computadora Mac) http://images.apple.com/legal/sla/docs/macOS1012.pdf -> El punto 2.B. Entonces esta no es una solución para mi caso.
- Otra solución común sobre la que he leído es tener una computadora Mac (tal vez una MacMini) que maneje todas las compilaciones para todos los proyectos. ¿Qué opinas sobre esta implementación? ¿Cuántos proyectos puede manejar? Los desarrolladores pueden necesitar hacer algunas configuraciones en su propio proyecto (especialmente en SonarQube), ¿es seguro?
- ¿Podemos tener varias instancias de Jenkins y SonarQube en la misma máquina, utilizando diferentes puertos? ¿Es esta una solución a considerar o estoy hablando sin sentido?
- ¿Hay alguna otra solución viable, tal vez mejor que las anteriores :)?
Nota: no me quedo con el dúo Jenkins + SonarQube, si hay otras herramientas más adecuadas para el desarrollo de iOS, compártalas conmigo.