Я ищу способ настройки централизованной непрерывной интеграции и непрерывного развертывания для разработки приложений для iOS. Точно так же, как мы делаем это для сборок Maven или Gradle.
Я нашел пару статей, в которых объясняется, как этого добиться, но для всех них Xcode используется для создания приложения для iOS. Ключ здесь - Xcode будет работать только на MacOS.
Я нашел плагин Jenkins Xcode, но он ясно говорит,
Очевидно, что сборочная машина должна быть машиной OSX с XCode
инструменты разработчика установлены.
Даже если мы делаем одну из машин OSX разработчика в качестве агента Jenkins, мы не можем гарантировать, что машина OSX разработчика всегда будет подключена к мастеру Jenkins. Что если кто-то еще захочет создать приложение, а компьютер с OSX, на котором работает агент Jenkins, недоступен?
Я нашел fastlane, но это также, кажется, автоматизирует некоторые ручные шаги, такие как создание снимков экрана, подписывание кода, выпуск приложения. Его нужно запускать только на машине разработчика, если я не ошибаюсь.
Какой общий подход люди используют для достижения этой цели?