Инструмент CI для React Native
Какой инструмент CI вы используете для своего проекта React Native? В настоящее время я попал в шорт-лист 4, но мне интересно, каковы плюсы и минусы каждого из них или любых других:
2 ответа
Виктор из Битрис
Не будем комментировать другие инструменты, только пару важных моментов для Bitrise:
- У нас есть бегун с открытым исходным кодом ( https://www.bitrise.io/cli), который очень похож на fastlane; Вы можете установить его на свой Mac/PC и запустить там свою конфигурацию, даже не зарегистрировавшись на bitrise.io
- У нас есть сканер проектов для проектов React Native, также с открытым исходным кодом ( https://github.com/bitrise-core/bitrise-init). Обычно это означает, что, запустив
bitrise init
на вашем Mac в корне репозитория проекта RN или зарегистрировав репозиторий на bitrise.io, вы получите готовую базовую конфигурацию сборки для вашего проекта RN из коробки. - Тем не менее, после того, как базовая конфигурация сгенерирована, вы можете настроить / изменить ее любым удобным для вас способом (аналогично конфигурации fastlane). Для этого вы можете отредактировать конфигурационный yml напрямую или воспользоваться нашим редактором Workflow Editor, который также можно использовать как на bitrise.io, так и локально на вашем Mac/PC. Связанное руководство с дополнительной информацией об этом: https://discuss.bitrise.io/t/how-to-experiment-with-bitrise-configs-locally-on-your-mac-linux/1751
Очевидно, что есть еще много функций, для которых наш DevCenter должен стать хорошей отправной точкой ( http://devcenter.bitrise.io/), я просто хотел бы выделить пару моментов непосредственно для вашего варианта использования / для вашего вопроса.
Мы всегда рады ответить на любые ваши вопросы, а также стоит проверить наш DevCenter и форум сообщества ( https://discuss.bitrise.io/), как обычно вы можете найти ответ на них:)
Я поддерживаю RN SDK с открытым исходным кодом и помогаю Fastlane. Я использую Fastlane для КИ в репо, а также для обслуживания репо: https://github.com/BranchMetrics/react-native-branch-deep-linking/blob/master/fastlane/Fastfile. В репо есть две работы: одна на Трэвисе, а другая на Circle, потому что до недавнего времени ни одна из них не поддерживала использование Android SDK на OS X. Circle недавно добавил поддержку для этого: https://discuss.circleci.com/t/android-and-ios-support-in-the-same-project/12102. Я еще не пробовал это.
У меня нет опыта использования Fastlane для создания и распространения приложений RN, но я знаю, что некоторые приложения RN используют его, включая это:
https://github.com/infinitered/ChainReactApp/blob/master/ios/fastlane/Fastfile https://github.com/infinitered/ChainReactApp/blob/master/android/fastlane/Fastfile
Fastlane является расширяемым и имеет очень активное сообщество, которое выпустило большое количество плагинов для различных целей: https://docs.fastlane.tools/plugins/available-plugins/.