Bitrise CI/CD для iOS: збірка, тестування, деплой

Зібрати iOS-додаток на локальній машині — рутина, яка відбирає час у команди. Коли розробників п'ять і більше, кожен коміт перетворюється на очікування збірки. Ми автоматизуємо CI/CD для мобільних додатків через Bitrise — хмарний <cite><a href="https://en.wikipedia.org/wiki/CI/CD">CI/CD</a></cite>,

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров&#39;я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Bitrise CI/CD для iOS: збірка, тестування, деплой
Середній
~2-3 дні

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

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    895
  • 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

Зібрати iOS-додаток на локальній машині — рутина, яка відбирає час у команди. Коли розробників п'ять і більше, кожен коміт перетворюється на очікування збірки. Ми автоматизуємо CI/CD для мобільних додатків через Bitrise — хмарний CI/CD, заточений під мобільну розробку. Його головна відмінність від GitHub Actions або GitLab CI: всі кроки (Steps) — готові блоки з Workflow Editor (Workflow Editor Bitrise), що має UI-налаштування. Більшість мобільних сценаріїв налаштовується без написання yaml з нуля. Для команд без DevOps-експерта це знижує поріг входу втричі. Налаштування Bitrise займає в 5 разів менше часу, ніж Jenkins.

Як налаштувати Bitrise для iOS?

Bitrise зберігає конфігурацію в bitrise.yml (файл конфігурації для Bitrise iOS CI/CD пайплайну) в корені репозиторію. Редагувати можна і через UI, і безпосередньо в yaml. Базовий workflow для iOS збірки CI/CD:

workflows: primary: steps: - activate-ssh-key: {} - git-clone: {} - certificate-and-profile-installer: {} - cocoapods-install: inputs: - is_cache_disabled: "false" - xcode-test: inputs: - scheme: MyApp - simulator_device: iPhone 15 - xcode-archive: inputs: - scheme: MyApp - distribution_method: ad-hoc - deploy-to-bitrise-io: {} - firebase-app-distribution: inputs: - app: $FIREBASE_APP_ID - groups: qa-team 

certificate-and-profile-installer — Bitrise-специфічний Step, який завантажує сертифікати з Bitrise Code Signing вкладки. Туди завантажуються .p12 та .mobileprovision файли через UI або API. Це простіше ніж fastlane match, але означає зберігання сертифікатів на серверах Bitrise. Типовий білд iOS на Bitrise займає 8-15 хвилин. Кешування скорочує час збірки на 30%.

Як керувати code signing у Bitrise?

У Bitrise є вбудований Code Signing Manager для code signing iOS Bitrise. Завантажуємо через Web UI:

  1. Distribution certificate (.p12 + passphrase)
  2. Provisioning profile (.mobileprovision)

xcode-archive Step автоматично використовує завантажені сертифікати через BITRISE_CERTIFICATE_URL та BITRISE_CERTIFICATE_PASSPHRASE environment-змінні. Xcode Automatic Signing при цьому вимикаємо в xcode-archive:

- xcode-archive: inputs: - automatic_code_signing: api-key # або certificate 

api-key режим використовує App Store Connect API Key — найкращий варіант, тому що не закінчується, на відміну від сертифіката.

Bitrise vs Self-hosted CI

Bitrise скорочує час розгортання CI/CD на 70% порівняно з Jenkins (самостійне налаштування займає 2-3 тижні, Bitrise — 2-4 дні). Bitrise в 3 рази простіший у налаштуванні для команд без DevOps-інженера. Ось порівняння:

Параметр Bitrise Jenkins GitHub Actions
Час налаштування 2-4 дні 2-3 тижні 1-2 тижні
Складність Низька Висока Середня
Спеціалізація на мобільних додатках Так Ні Ні

Як налаштувати паралельні workflow?

Bitrise підтримує кілька workflows з різними тригерами для паралельних workflow Bitrise:

trigger_map: - push_branch: main workflow: deploy - push_branch: "feature/*" workflow: test-only - pull_request_target_branch: main workflow: pr-check 

test-only workflow запускає лише тести без архівації — економить до 10 хвилин на кожен push у feature-гілку. Кешування залежностей прискорює збірку ще на 30%:

Тип кешу Ключ Шлях
CocoaPods cocoapods-{{ checksum "Podfile.lock" }} ./Pods
SPM spm-{{ checksum "Package.resolved" }} ~/Library/Developer/Xcode/DerivedData

Використовуйте Bitrise для iOS пайплайн Git, щоб автоматизувати збірку на кожен коміт.

Типові помилки (розгорнути)

Типові помилки при впровадженні Bitrise
  • Невідповідність bundle ID в provisioning profile та PRODUCT_BUNDLE_IDENTIFIER в xcconfig — xcode-archive падає з No profile for... signed for running on device.
  • CocoaPods-версія на Bitrise-стеку відрізняється від локальної — додаємо gem install cocoapods --version X.X.X в Script Step.
  • Не встановлено BITRISE_SCHEMExcode-test використовує першу доступну схему, що може бути не тією.
  • Проблеми з кешем: якщо Podfile.lock не змінюється, кеш не оновлюється — лікується додаванням is_cleanup: true.

Що входить у налаштування від нас (під ключ за 2 дні)

  • Аналіз поточного проекту та вибір оптимальної конфігурації.
  • Створення bitrise.yml з workflows для збірки, тестування та деплою.
  • Налаштування code signing через Code Signing Manager.
  • Інтеграція з Git-репозиторієм та налаштування trigger map.
  • Кешування CocoaPods Bitrise та SPM для прискорення білдів.
  • Документація з конфігурації та навчання команди.
  • Підтримка на етапі впровадження (2 тижні).

Процес налаштування:

  1. Підключення Git-репозиторію
  2. Завантаження сертифікатів в Code Signing Manager
  3. Налаштування workflows для автоматизації iOS збірки
  4. Налаштування кешування залежностей
  5. Інтеграція з TestFlight для автоматичного деплою

Терміни: базова налаштування (test + archive + TestFlight) — 2–4 дні (від $500). Повна конфігурація з паралельними workflows, Device Testing, кешуванням, Slack/Jira-інтеграцією — 1–1.5 тижня (від $1500). Середня економія на місяць — $800 на одну команду. За останній рік ми автоматизували 15 iOS-проектів. Оцініть ваш проект та отримайте консультацію.

Наш досвід: ми автоматизуємо CI/CD для мобільних додатків більше п'яти років. За цей час реалізували понад 50 проектів на iOS та Android. Використовуємо Bitrise, GitHub Actions, GitLab CI — підбираємо інструмент під задачі клієнта. Гарантуємо стабільність пайплайну та підтримку після впровадження.