Інфраструктура безперервної інтеграції для декількох проектів iOS


13

Як розробник iOS, я хотів створити інфраструктуру CI та CCQ (= Постійна якість коду) для проектів iOS, які ми розробляємо до цього часу. Ми вже використовуємо Jenkins та SonarQube майже для всіх проектів в Інтернеті та Android (за допомогою проекту VM foreach, автоматична установка та налаштування CI та CCQ), і це чудово працює. Але для проектів iOS, Дженкінс повинен робити побудову на комп'ютері під управлінням macOS, тому я не впевнений, що у мене є ідеальне рішення для цього.

  • Я шукав рішення для віртуалізації macOS. Для кожного проекту створіть віртуальний macOS та встановіть Дженкінс як раб, щоб обробляти складання. Рішення виглядало ідеально, але здається, що не більше ніж 2 VM працює з macOS (і, звичайно, лише на комп'ютері Mac), http://images.apple.com/legal/sla/docs/macOS1012.pdf -> Точка 2.Б. Тож це не є рішенням для моєї справи.
  • Ще одне поширене рішення, про яке я читав, - це мати комп’ютер Mac (можливо, MacMini), який буде обробляти всі складання для всіх проектів. Що ви думаєте про цю реалізацію? Скільки проектів може працювати? Розробникам, можливо, доведеться робити деякі конфігурації за власним проектом (особливо в SonarQube), це безпечно?
  • Чи можемо ми мати кілька екземплярів Jenkins і SonarQube на одній машині, використовуючи різні порти? Це навіть рішення, яке слід розглядати, або я говорю безглуздо?
  • Чи є якесь інше життєздатне рішення, можливо, краще, ніж вищезгадане :)?

Примітка. Я не дотримуюся дуету Jenkins + SonarQube, якщо є якісь інші інструменти, які краще підходять для розробки iOS, будь ласка, поділіться ними зі мною.


@ Pierre.Vriens: це безперервна якість коду. Я не впевнений, що це загальновживаний термін, або просто SonarQube використовує його. :)
Дан Боднар

Відповіді:


10

Чи є якесь інше життєздатне рішення, можливо, краще, ніж вищезгадане :)?

Для Дженкінса, мабуть, ні, через згадані вами проблеми з ліцензією (вам потрібно запустити macOS на фірмовій техніці Apple). Якщо ви можете з цим працювати, то це, безумовно, рішення.

Якщо ні, то я б запропонував вам перевірити наявність хостингової системи безперервної інтеграції iOS, у якій вам не доведеться мати справу з апаратним забезпеченням / ліцензуванням Apple, служба керує нею, наприклад https: //www.bitrise. іо

Є також сервіси, де можна взяти напрокат Apple hw, і ви можете налаштувати його будь-яким чином, як вам подобається, https://www.macstadium.com - один із них (мабуть, найбільший).


1
Дякую за відгук. Я досі шукаю рішення. Я думаю, що зараз MiniMac - це шлях.
Дан Боднар

2

Я думаю, ви також можете подивитися на нову легку віртуалізацію для macOS під назвою Anka . Anka Build може зробити вам можливим налаштувати віртуалізовану інфраструктуру на апаратному забезпеченні Apple, а також надати вам можливість надати macOS Vms на вимогу від Jenkins.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.