Fastlane — что это, инструменты и автоматизация сборки мобильных приложений

Автор: IT Sectr Опубликовано: 2026-04-14 Время чтения: 10 мин

Fastlane — это инструмент с открытым исходным кодом для автоматизации сборки, тестирования и публикации iOS и Android приложений. Вместо ручного выполнения десятка команд для подписи, сборки и загрузки в магазин, разработчик описывает весь процесс в Fastfile и запускает одной командой. По данным Fastlane Docs, 2025, инструмент используется более чем в 1.5 млн проектов по всему миру. Fastlane объединяет утилиты для работы с App Store Connect, Google Play Console и системами подписи кода.

Главное

  • Fastlane — Open Source инструмент автоматизации для 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 repository.

Рекомендуемая практика — использовать 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 устанавливает 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 — это Open Source инструмент автоматизации для 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 — Open Source инструмент автоматизации мобильных сборок с поддержкой 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 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

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