Come sviluppatore iOS, stavo cercando di creare un'infrastruttura CI e CCQ (= qualità del codice continuo) per i progetti iOS che abbiamo sviluppato finora. Utilizziamo già Jenkins e SonarQube per quasi tutti i progetti Web e Android (l'utilizzo di un progetto VM foreach, l'installazione e la configurazione di CI e CCQ è automatizzato) e funziona alla grande. Ma per i progetti iOS, Jenkins deve fare la build su un computer che esegue macOS, quindi non sono sicuro di avere la soluzione perfetta per questo.
- Stavo cercando una soluzione per virtualizzare macOS. Per ogni progetto, creare un macOS virtuale e installare Jenkins come slave lì per gestire le build. La soluzione sembrava perfetta, ma sembra che non sia legale avere più di 2 VM in esecuzione con macOS (e, ovviamente, solo su computer Mac) http://images.apple.com/legal/sla/docs/macOS1012.pdf -> Il punto 2.B. Quindi questa non è una soluzione per il mio caso.
- Un'altra soluzione comune di cui ho letto è avere un computer Mac (forse un MacMini) che gestirà tutte le build per tutti i progetti. Cosa ne pensi di questa implementazione? Quanti progetti può gestire? Gli sviluppatori potrebbero dover eseguire alcune configurazioni sul proprio progetto (specialmente in SonarQube), è sicuro?
- Possiamo avere più istanze Jenkins e SonarQube sulla stessa macchina, usando porte diverse? È forse una soluzione da prendere in considerazione o sto parlando senza senso?
- C'è qualche altra soluzione praticabile, forse migliore di quelle sopra :)?
Nota: non mi attengo a Jenkins + SonarQube duo, se ci sono altri strumenti più adatti allo sviluppo di iOS, condivideteli con me.