Sebagai pengembang iOS, saya ingin membuat infrastruktur CI dan CCQ (= Kualitas Kode Berkelanjutan) untuk proyek-proyek iOS yang kami miliki dalam pengembangan sejauh ini. Kami sudah menggunakan Jenkins dan SonarQube untuk hampir semua proyek Web dan Android (menggunakan proyek VM foreach, menginstal dan mengkonfigurasi CI dan CCQ secara otomatis) dan ini bekerja dengan baik. Tetapi untuk proyek iOS, Jenkins perlu melakukan pembangunan di komputer yang menjalankan macOS, jadi saya tidak yakin saya memiliki solusi yang tepat untuk itu.
- Saya sedang mencari solusi untuk virtualisasi macOS. Untuk setiap proyek, untuk membuat macOS virtual dan instal Jenkins sebagai budak di sana untuk menangani build. Solusinya tampak sempurna, tetapi tampaknya tidak sah untuk menggunakan lebih dari 2 VM berjalan dengan macOS (dan tentu saja, hanya pada komputer Mac) http://images.apple.com/legal/sla/docs/macOS1012.pdf -> Intinya 2.B. Jadi ini bukan solusi untuk kasus saya.
- Solusi umum lain yang pernah saya baca adalah memiliki komputer Mac (mungkin MacMini) yang akan menangani semua build untuk semua proyek. Apa pendapat Anda tentang implementasi ini? Berapa banyak proyek yang bisa ditangani? Pengembang mungkin perlu melakukan beberapa konfigurasi pada proyek mereka sendiri (terutama di SonarQube), apakah aman?
- Bisakah kita memiliki beberapa instance Jenkins dan SonarQube pada mesin yang sama, menggunakan port yang berbeda? Apakah ini bahkan solusi untuk dipertimbangkan atau saya berbicara tidak masuk akal?
- Apakah ada solusi lain yang layak, mungkin lebih baik daripada yang di atas :)?
Catatan: Saya tidak menggunakan duet Jenkins + SonarQube, jika ada alat lain yang lebih cocok untuk pengembangan iOS, silakan bagikan dengan saya.