Зібрати 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:
- Distribution certificate (.p12 + passphrase)
- 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_SCHEME—xcode-testвикористовує першу доступну схему, що може бути не тією. - Проблеми з кешем: якщо
Podfile.lockне змінюється, кеш не оновлюється — лікується додаваннямis_cleanup: true.
Що входить у налаштування від нас (під ключ за 2 дні)
- Аналіз поточного проекту та вибір оптимальної конфігурації.
- Створення
bitrise.ymlз workflows для збірки, тестування та деплою. - Налаштування code signing через Code Signing Manager.
- Інтеграція з Git-репозиторієм та налаштування trigger map.
- Кешування CocoaPods Bitrise та SPM для прискорення білдів.
- Документація з конфігурації та навчання команди.
- Підтримка на етапі впровадження (2 тижні).
Процес налаштування:
- Підключення Git-репозиторію
- Завантаження сертифікатів в Code Signing Manager
- Налаштування workflows для автоматизації iOS збірки
- Налаштування кешування залежностей
- Інтеграція з 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 — підбираємо інструмент під задачі клієнта. Гарантуємо стабільність пайплайну та підтримку після впровадження.







