Можно ли настроить непрерывную интеграцию и непрерывное развертывание для разработки приложений для iOS? - PullRequest
2 голосов
/ 10 апреля 2019

Я ищу способ настройки централизованной непрерывной интеграции и непрерывного развертывания для разработки приложений для iOS. Точно так же, как мы делаем это для сборок Maven или Gradle.

Я нашел пару статей, в которых объясняется, как этого добиться, но для всех них Xcode используется для создания приложения для iOS. Ключ здесь - Xcode будет работать только на MacOS.

Я нашел плагин Jenkins Xcode, но он ясно говорит,

Очевидно, что сборочная машина должна быть машиной OSX с XCode инструменты разработчика установлены.

Даже если мы делаем одну из машин OSX разработчика в качестве агента Jenkins, мы не можем гарантировать, что машина OSX разработчика всегда будет подключена к мастеру Jenkins. Что если кто-то еще захочет создать приложение, а компьютер с OSX, на котором работает агент Jenkins, недоступен?

Я нашел fastlane, но это также, кажется, автоматизирует некоторые ручные шаги, такие как создание снимков экрана, подписывание кода, выпуск приложения. Его нужно запускать только на машине разработчика, если я не ошибаюсь.

Какой общий подход люди используют для достижения этой цели?

1 Ответ

0 голосов
/ 10 апреля 2019

Для CI / CD вы можете использовать удаленный сервер сборки, такой как AppCenter от Microsoft (https://appcenter.ms/) или другой.
И, очевидно, без Mac Machine для создания приложения вы не сможете создать свой собственный системный CI / CD. К сожалению, разработчик не может создать приложение без Apple Machine.
Это главная проблема для разработки под iOS.
В этом случае андроид лучше.

...