Fastlane — що це, інструменти та автоматизація збірки мобільних додатків

Автор: IT Sectr Опубліковано: 2026-04-14 Час читання: 10 хв

Fastlane — це інструмент з відкритим кодом для автоматизації збірки, тестування та публікації iOS та Android додатків. Замість ручного виконання десятка команд для підпису, збірки та завантаження в магазин, розробник описує весь процес в Fastfile і запускає однією командою. За даними Fastlane Docs, 2025, інструмент використовується в більш ніж 1,5 млн проектів по всьому світу. Fastlane об’єднує утиліти для роботи з App Store Connect, Google Play Console та системами підпису коду.

Головне

  • Fastlane — Інструмент автоматизації з відкритим кодом для iOS та Android збірок та доставки
  • Actions — Вбудовані команди для роботи з App Store, Google Play, підписом та тестами
  • Lanes — Сценарії автоматизації в Fastfile, що об’єднують послідовність actions
  • Match — Система керування сертифікатами та provisioning profiles для iOS
  • Інструменти — scan (тести), gym (збірка), deliver (завантаження), snapshot (скріншоти)

Що таке Fastlane та як він автоматизує мобільні збірки

Fastlane — це інструмент автоматизації мобільних збірок, написаний на Ruby та розповсюджуваний під ліцензією MIT. Він автоматизує рутинні завдання мобільного розробника: збірку додатка, запуск тестів, створення скріншотів, підпис коду та завантаження бінарних файлів в App Store або Google Play. Замість 15–20 ручних команд розробник запускає одну fastlane команду з іменем сценарію.

Fastlane працює як обгортка над утилітами Xcode (xcodebuild, xcrun) та Android SDK (gradlew, apksigner, bundletool), надаючи єдиний інтерфейс для обох платформ. Це особливо цінно для команд, які підтримують iOS та Android версії одного додатка — однакові Fastfile можуть описувати збірки для обох платформ з мінімальними відмінностями в параметрах.

За даними GitHub, Fastlane має понад 39 тисяч зірок і є стандартом автоматизації в мобільній розробці. Інструмент підтримується спільнотою та компанією Google — Fastlane інтегровано в Firebase як рекомендований спосіб доставки Android додатків в Google Play Console.

Архітектура Fastlane: Actions, Lanes та інструменти

Архітектура Fastlane побудована на трьох рівнях: actions (базові команди), lanes (сценарії) та інструменти (спеціалізовані утиліти). Actions — це окремі функції Fastlane, кожна з яких виконує конкретну дію: створення скріншота, збірку IPA, завантаження в TestFlight. Lanes об’єднують кілька actions в послідовний сценарій, описаний в Fastfile.

Fastlane Actions

Actions — це будівельні блоки Fastlane. Кожна action приймає параметри та виконує одне завдання. Наприклад, action gym збирає iOS додаток, scan запускає тести, pilot завантажує білд в TestFlight. Всього в Fastlane понад 200 вбудованих actions, документація по кожній доступна через команду fastlane action [назва].

Якщо вбудованих actions недостатньо, розробник може створити custom action на Ruby та підключити його в Fastfile. Custom actions поширюються через плагіни Fastlane, які публікуються в Rubygems та встановлюються через файл FastfilePlugin в корені проекту.

Lanes та їхня композиція

Lane — це іменований сценарій автоматизації, який об’єднує кілька actions в логічну послідовність. Lane може викликати інші lanes (private lanes), передавати параметри та обробляти помилки. Це дозволяє будувати ієрархію сценаріїв: базова lane збірки, lane деплою, lane повного CI/CD циклу.

Основні інструменти Fastlane: scan, gym, match, deliver

Fastlane включає набір спеціалізованих інструментів, кожен з яких вирішує конкретну задачу мобільної автоматизації. Інструменти запускаються як actions всередині lanes або безпосередньо з командного рядка. Розглянемо чотири ключові інструменти, що покривають основні потреби CI/CD для iOS та Android.

ІнструментПризначенняКоманда
scanЗапуск Unit та UI тестів на симуляторі iOSfastlane scan
gymЗбірка IPA або APP файлу для iOSfastlane gym
matchСинхронізація сертифікатів та provisioning profiles через Gitfastlane match
deliverЗавантаження бінарника та метаданих в App Store Connectfastlane deliver
snapshotАвтоматична генерація скріншотів на різних пристрояхfastlane snapshot

Scan спрощує запуск тестів Xcode, автоматично вибираючи підходячий симулятор та форматуючи звіт. Gym збирає додаток з оптимальними прапорціями компіляції та підтримує exportOptions.plist для різних типів збірки (development, adhoc, appstore). Deliver дозволяє завантажувати не лише бінарник, але й скріншоти, опис, версії та ціни через єдиний файл метаданих.

Інструмент Match заслуговує окремої уваги — він вирішує проблему зберігання та синхронізації iOS сертифікатів в команді. Match шифрує та зберігає сертифікати та provisioning profiles в Git репозиторії, а розробники отримують їх автоматично при запуску fastlane match. Це виключає ручне налаштування кожного робочого місця.

Snapshot: генерація скріншотів

Snapshot — інструмент для автоматичного створення скріншотів мобільного додатка на різних пристроях та мовах. Snapshot запускає UI тести на симуляторах iOS, роблячи знімки екрана на кожному кроці тесту. Результати зберігаються в директорію fastlane/screenshots та можуть бути завантажені в App Store Connect через deliver.

Для Android screengrab виконує аналогічну функцію на емуляторах Android. Обидва інструменти підтримують локалізацію — скріншоти створюються для кожної мови, що спрощує підготовку матеріалів для публікації в багатомовних магазинах додатків.

Налаштування Fastlane для iOS додатків

Для iOS проектів Fastlane налаштовується через Gemfile (встановлення гема fastlane) та Fastfile в директорії fastlane. Первинне налаштування виконується командою fastlane init, яка створює базову структуру директорій, запитує дані App Store Connect та генерує шаблон Fastfile з основними lanes.

Ключова команда для iOS — fastlane match, яка повинна бути виконана першою для отримання сертифікатів та provisioning profiles. Після успішного підпису Fastlane може збирати додаток (gym), запускати тести (scan) та завантажувати бінарник (pilot або deliver).

ruby
# Fastfile для iOS додатка
default_platform(:ios)

lane :build do
  cocoapods
  scan(scheme: 'App', devices: ['iPhone 15'])
  gym(scheme: 'App', export_method: 'app-store')
end

lane :deploy do
  match(type: 'appstore')
  build
  pilot(skip_waiting_for_build_processing: true)
  slack(message: 'Нову версію завантажено в TestFlight')
end

Для роботи з TestFlight використовуйте pilot action — він завантажує IPA та керує тестувальниками. Fastlane підтримує upload_to_testflight (синонім pilot) та автоматично обробляє очікування обробки білда Apple, що може займати від 5 до 30 хвилин.

Налаштування Fastlane для Android додатків

Для Android проектів Fastlane налаштовується аналогічно, але замість інструментів Xcode використовуються Gradle та Android SDK. Fastlane для Android підтримує збірку APK та AAB, підпис через apksigner або jarsigner, запуск інструментальних тестів та завантаження в Google Play Console через Supply action.

Ключова відмінність — Android збірка не потребує керування сертифікатами через match (підпис Android керується через Keystore, який зберігається окремо). Fastlane для Android використовує gradle action для запуску будь-яких завдань Gradle та supply action для роботи з Google Play.

ruby
# Fastfile для Android додатка
default_platform(:android)

lane :build do
  gradle(task: 'clean assembleRelease')
  gradle(task: 'testReleaseUnitTest')
end

lane :deploy do
  build
  supply(
    track: 'internal',
    aab: 'app/build/outputs/bundle/release/app-release.aab'
  )
end

Для роботи з Google Play Console потрібен сервісний акаунт Google Cloud з доступом до API Google Play. Fastlane приймає JSON ключ сервісного акаунта через змінну середовища SUPPLY_JSON_KEY або параметр json_key в action supply. Трек публікації може бути internal, alpha, beta або production.

Інтеграція Fastlane з CI/CD системами

Fastlane інтегрується з будь-якими CI/CD системами, які можуть виконувати Ruby скрипти: Jenkins, Travis CI, GitHub Actions, GitLab CI, Bitrise та CircleCI. Інтеграція зводиться до встановлення гема fastlane та запуску команди fastlane [lane_name] в стадії script пайплайну.

Для CI/CD важливо налаштувати змінні середовища для зберігання чутливих даних: MATCH_PASSWORD (пароль шифрування сертифікатів), FASTLANE_USER (Apple ID), FASTLANE_PASSWORD (пароль Apple ID). В Travis CI змінні шифруються через travis encrypt, в GitHub Actions — через Secrets репозиторію.

Рекомендована практика — використовувати fastlane match в CI/CD з прапорцією readonly, щоб не допускати випадкових змін у репозиторії сертифікатів. Для Android використовуйте Keystore, закодований в Base64 та збережений в змінній середовища, який розшифровується та зберігається в тимчасовий файл на етапі before_install.

Fastlane Match: керування сертифікатами та профілями

Fastlane Match — це інструмент для автоматизації керування iOS сертифікатами та provisioning profiles, одна з найцінніших функцій Fastlane для команд. Match створює зашифрований Git репозиторій (або використовує існуючий), де зберігає всі сертифікати та профілі, синхронізуючи їх між розробниками та CI/CD серверами.

Match підтримує п’ять типів профілів: development, adhoc, appstore, enterprise та developer_id. Кожен тип зберігається в окремій директорії всередині репозиторію. Команда fastlane match development встановлює розробницькі сертифікати на локальній машині, а fastlane match appstore — App Store профілі для збірки на CI.

ruby
# Використання Match в Fastfile
lane :setup_signing do
  match(
    type: 'appstore',
    readonly: true,
    git_branch: 'main'
  )
end

lane :update_profiles do
  match(
    type: 'development',
    force: true,
    app_identifier: ['com.example.app', 'com.example.app.watchkitapp']
  )
end

Безпека Match забезпечується шифруванням усіх файлів перед комітом в Git. Пароль шифрування задається через змінну середовища MATCH_PASSWORD та повинен бути однаковим для всіх членів команди. Match використовує OpenSSL для шифрування та не зберігає пароль у відкритому вигляді в репозиторії.

Часто задавані питання

Що таке Fastlane в мобільній розробці?

Fastlane — це інструмент автоматизації з відкритим кодом для iOS та Android додатків. Він автоматизує збірку, тестування, підпис коду та доставку в App Store та Google Play через єдиний конфігураційний файл Fastfile та набір вбудованих інструментів.

Які інструменти входять до складу Fastlane?

Основні інструменти Fastlane: scan (тести), gym (збірка iOS), match (сертифікати), deliver (App Store), pilot (TestFlight), snapshot (скріншоти), supply (Google Play) та frameit (рамки для скріншотів). Кожен інструмент доступний як action всередині lane або з командного рядка.

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

Встановіть gem fastlane, виконайте fastlane init в корені проекту. Налаштуйте Fastfile з lanes для збірки (gym) та тестів (scan). Налаштуйте Match для керування сертифікатами через Git репозиторій. Додайте lane деплою з pilot або deliver для завантаження в App Store Connect.

Як налаштувати Fastlane для Android додатка?

Виконайте fastlane init із зазначенням package name. Використовуйте gradle action для запуску завдань Gradle (assembleRelease, testReleaseUnitTest). Налаштуйте Keystore через змінні середовища. Використовуйте supply action для завантаження AAB або APK в Google Play Console на потрібний трек.

Як інтегрувати Fastlane з CI/CD системами?

Встановіть gem fastlane на CI/CD сервері та додайте команду fastlane [lane_name] в стадію script пайплайну. Налаштуйте змінні середовища FASTLANE_USER, FASTLANE_PASSWORD та MATCH_PASSWORD в секретних змінних CI/CD. Використовуйте match readonly в CI, щоб уникнути випадкових змін сертифікатів.

Підсумки

  • Fastlane — Інструмент автоматизації мобільних збірок з відкритим кодом з підтримкою iOS та Android
  • Actions — Базові команди для збірки, тестів, підпису та доставки (понад 200 вбудованих)
  • Lanes — Сценарії в Fastfile, що об’єднують кілька actions в послідовний CI/CD процес
  • Match — Система керування iOS сертифікатами через зашифрований Git репозиторій
  • iOS налаштування включає scan для тестів, gym для збірки, pilot для TestFlight
  • Android налаштування включає gradle для збірки та supply для Google Play
  • Fastlane інтегрується з Jenkins, Travis CI, GitHub Actions та іншими CI/CD платформами

Ми розробимо мобільний застосунок під ключ

IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

Читайте також