Настройка CodeMagic для CI/CD мобильного приложения под ключ

Сборка мобильного приложения вручную — постоянная головная боль: то provisioning profile просрочен, то версия Xcode не та, то Android SDK не установлен. Мы сталкивались с этим на каждом втором проекте за несколько лет мобильной разработки. CodeMagic решает эти проблемы из коробки: предоставляет пред

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Настройка CodeMagic для CI/CD мобильного приложения под ключ
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Сборка мобильного приложения вручную — постоянная головная боль: то provisioning profile просрочен, то версия Xcode не та, то Android SDK не установлен. Мы сталкивались с этим на каждом втором проекте за несколько лет мобильной разработки. CodeMagic решает эти проблемы из коробки: предоставляет преднастроенные macOS и Linux агенты со всем необходимым инструментарием. Мы настроили CI/CD для 40+ проектов на iOS, Android и Flutter — и знаем, как сделать это быстро и надёжно.

Настраиваем CodeMagic под ключ: от подключения репозитория до публикации в App Store и Google Play. Оценим ваш проект за один день. В результате вы получаете автоматическую сборку при каждом пуше, прогон тестов и доставку билдов тестировщикам и в сторы. Экономия времени на ручных операциях достигает 80%.

Как выбрать между GUI и YAML?

CodeMagic поддерживает два способа конфигурации: Workflow Editor (GUI) и codemagic.yaml. Для серьёзных проектов выбирайте YAML — он версионируется в Git, изменения проходят ревью через Pull Request. GUI удобен для быстрой настройки прототипа, но в продакшене YAML даёт контроль и повторяемость. Мы рекомендуем YAML для проектов с длительностью разработки более месяца.

# codemagic.yaml workflows: android-release: name: Android Release max_build_duration: 60 environment: groups: - keystore_credentials - google_play_credentials vars: PACKAGE_NAME: "com.myapp.android" android_signing: - keystore_reference triggering: events: - push branch_patterns: - pattern: 'main' scripts: - name: Set build number script: | BUILD_NUMBER=$(($(google-play get-latest-build-number \ --package-name "$PACKAGE_NAME" \ --tracks=internal) + 1)) cd android && ./gradlew versionCode -PversionCode=$BUILD_NUMBER - name: Build Android script: | cd android ./gradlew bundleRelease artifacts: - android/app/build/outputs/bundle/**/*.aab publishing: google_play: credentials: $GCLOUD_SERVICE_ACCOUNT_CREDENTIALS track: internal submit_as_draft: false 

iOS-конфигурация

 ios-release: name: iOS Release max_build_duration: 90 environment: groups: - appstore_credentials ios_signing: distribution_type: app_store bundle_identifier: com.myapp.ios scripts: - name: Set build number script: | BUILD_NUMBER=$(app-store-connect get-latest-build-number \ --app-id $APP_STORE_APP_ID) agvtool new-version -all $((BUILD_NUMBER + 1)) - name: Build iOS script: | xcode-project build-ipa \ --workspace "MyApp.xcworkspace" \ --scheme "MyApp" artifacts: - build/ios/ipa/*.ipa publishing: app_store_connect: api_key: $APP_STORE_CONNECT_PRIVATE_KEY key_id: $APP_STORE_CONNECT_KEY_IDENTIFIER issuer_id: $APP_STORE_CONNECT_ISSUER_ID submit_to_testflight: true beta_groups: - Internal Testers 

Почему code signing — самое узкое место?

Code signing для iOS — главный источник ошибок в CI/CD. Неправильный provisioning profile, истёкший сертификат, несовпадение bundle identifier — и сборка падает. CodeMagic предлагает два пути.

Automatic code signing — CodeMagic сам создаёт временный certificate и provisioning profile через App Store Connect API. Не требует Fastlane Match. Удобно, но зависит от прав CI-пользователя в App Store Connect.

Manual code signing — загружаешь .p12 и .mobileprovision в CodeMagic Encrypted Variables. Надёжнее, контроль полный.

Сравним оба подхода:

Характеристика Automatic code signing Manual code signing
Время настройки 10 минут 30 минут
Контроль Низкий Полный
Зависимость от прав CI Да Нет
Срок жизни сертификата Создаётся заново каждый раз Используется ваш постоянный сертификат
Рекомендация Для прототипов и внутренних тестов Для продакшена
Совет: храните сертификаты в зашифрованном видеДля manual code signing всегда используйте Encrypted Variables. Никогда не храните .p12 в репозитории — даже приватном. Это стандарт безопасности, который мы проверяем на аудите.

Как настроить CI/CD в CodeMagic за 5 шагов?

  1. Подключите репозиторий. Создайте проект в CodeMagic и привяжите GitHub, GitLab или Bitbucket. Укажите ветки для триггеров.
  2. Создайте codemagic.yaml. Определите окружения, скрипты сборки, артефакты и публикацию. Используйте шаблон из документации CodeMagic YAML reference.
  3. Настройте code signing. Выберите automatic или manual. Для manual — загрузите сертификаты в переменные.
  4. Настройте кэширование. Укажите пути к кэшам в секции cache — это ускорит сборку в 3-5 раз.
  5. Настройте публикацию. Добавьте publishing в apple_store_connect и google_play. Назначьте треки: internal test, beta, production. Каждый шаг занимает в среднем 20-40 минут, с учётом отладки.

Flutter в CodeMagic

 flutter-multiplatform: name: Flutter Release environment: flutter: stable scripts: - name: Get dependencies script: flutter pub get - name: Run tests script: flutter test --coverage - name: Build Android script: | flutter build appbundle \ --release \ --dart-define=ENV=production - name: Build iOS script: | flutter build ipa \ --release \ --export-options-plist=/Users/builder/export_options.plist 

Кэширование зависимостей

cache: cache_paths: - $FLUTTER_ROOT/.pub-cache - $HOME/.gradle/caches - $HOME/Library/Caches/CocoaPods 

Без кэширования pod install и flutter pub get занимают 3–5 минут дополнительно на каждый билд. С кэшированием — до 20 секунд. Экономия до 10 часов в месяц при ежедневных сборках. На проектах с микросервисной архитектурой кэширование сокращает общее время CI/CD на 40%.

Сравнение сборки iOS, Android и Flutter в CodeMagic

Платформа Среднее время сборки (с кэшем) Типичные артефакты Частота падений
iOS 15-25 мин .ipa, dSYM 5% из-за signing
Android 10-20 мин .aab, .apk, mapping 2% из-за ProGuard
Flutter 20-35 мин (обе платформы) .ipa + .aab 3% из-за version pin

Что входит в нашу работу

Мы не просто настраиваем CodeMagic — мы строим надёжный CI/CD пайплайн под ключ:

  • Аудит текущих процессов сборки и доставки
  • Написание codemagic.yaml с учётом вашего стека
  • Настройка code signing (automatic или manual)
  • Интеграция с App Store Connect и Google Play Console
  • Настройка кэширования и триггеров
  • Документация процесса и схемы пайплайна
  • Обучение команды (2 часа вебинара)
  • Месяц поддержки после внедрения

Срок: от 2 дней для одной платформы до 5 дней для комплексного решения под iOS + Android + Flutter. Стоимость рассчитывается индивидуально. У нас за плечами 5+ лет опыта и 40+ успешных внедрений — гарантируем стабильную работу пайплайна.

Пишите — оценим ваш проект в течение одного рабочего дня. Получите консультацию и план внедрения.