Fastlane — 정의, 도구 및 모바일 앱 빌드 자동화

저자: IT Sectr 게시일: 2026-04-14 읽는 시간: 10 분

Fastlane은 iOS 및 Android 앱의 빌드, 테스트 및 게재를 자동화하는 오픈 소스 도구입니다. 서명, 빌드 및 스토에 업로드하기 위해 여러 개의 명령어를 수동으로 실행하는 대신, 개발자는 Fastfile에 전체 과정을 설명하고 단 하나의 명령어로 실행합니다. Fastlane Docs, 2025에 따르면, 이 도구는 전 세계에서 150만 개 이상의 프로젝트에서 사용되고 있습니다. Fastlane은 App Store Connect, Google Play Console 및 코드 서명 시스템을 위한 유틸리티를 통합합니다.

핵심 요점

  • Fastlane — iOS 및 Android 빌드 및 배포를 위한 Open Source 자동화 도구
  • Actions — App Store, Google Play, 서명 및 테스트를 위한 내장 명령어
  • Lanes — Fastfile에서 순차적인 actions 시퀀스를 결합하는 자동화 시나리오
  • Match — 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,000개 이상의 스타를 보유하고 있으며 모바일 개발에서 자동화 표준으로 자리잡았습니다. 이 도구는 커뮤니티와 Google이 유지보수하고 있으며, Firebase에 Android 앱을 Google Play Console에 배포하는 권장 방법으로 통합되어 있습니다.

Fastlane 아키텍처: Actions, Lanes 및 도구

Fastlane의 아키텍처는 세 개의 레벨로 구성됩니다: actions(기본 명령어), lanes(시나리오) 및 도구(전문 유틸리티). Actions은 Fastlane의 개별 함수로, 각각이 특정 작업(스크린샷 생성, IPA 빌드, TestFlight 업로드)을 수행합니다. Lanes는 Fastfile에 설명된 순차적인 시나리오로 여러 actions을 결합합니다.

Fastlane Actions

Actions은 Fastlane의 빌딩 블록입니다. 각 action은 매개변수를 받아 하나의 작업을 수행합니다. 예를 들어 gym action은 iOS 앱을 빌드하고, scan은 테스트를 실행하며, pilot은 빌드를 TestFlight에 업로드합니다. Fastlane에는 200개 이상의 내장 actions이 있으며, 각 action에 대한 문서는 fastlane action [이름] 명령어를 통해 확인할 수 있습니다.

내장 actions으로 부족한 경우, 개발자는 Ruby로 custom action을 생성하여 Fastfile에 연결할 수 있습니다. Custom actions는 Fastlane 플러그인을 통해 배포되며, Rubygems에 게재되고 프로젝트 루트의 FastfilePlugin 파일을 통해 설치됩니다.

Lanes 및 그 구성

Lane은 여러 actions을 논리적 순서로 결합하는 이름이 지정된 자동화 시나리오입니다. Lane은 다른 라인(private lanes)을 호출하고, 매개변수를 전달하며, 오류를 처리할 수 있습니다. 이를 통해 시나리오 계층구조를 구축할 수 있습니다: 기본 빌드 라인, 배포 라인, 완전한 CI/CD 사이클 라인.

Fastlane 주요 도구: scan, gym, match, deliver

Fastlane에는 모바일 자동화의 특정 작업을 해결하는 전문 도구 세트가 포함되어 있습니다. 이 도구들은 lanes 내의 actions으로나 명령 펌 직접 실행할 수 있습니다. iOS 및 Android의 주요 CI/CD 요구사항을 다루는 네 가지 핵심 도구를 살펴보겠습니다.

도구용도명령어
scaniOS 시뮬레이터에서 Unit 및 UI 테스트 실행fastlane scan
gymiOS용 IPA 또는 APP 파일 빌드fastlane gym
matchGit을 통한 인증서 및 프로비저닝 프로파일 동기화fastlane match
deliverApp Store Connect에 바이너리 및 메타데이터 업로드fastlane deliver
snapshot다양한 기기에서 스크린샷 자동 생성fastlane snapshot

Scan은 Xcode 테스트 실행을 간소화하고, 적합한 시뮬레이터를 자동 선택하며 보고서를 포맷합니다. Gym은 최적의 컴파일 플래그로 앱을 빌드하고 다양한 빌드 유형(development, adhoc, appstore)에 대한 exportOptions.plist를 지원합니다. Deliver를 통해서는 바이너리 뿐만 아니라 스크린샷, 설명, 버전 및 가격을 단일 메타데이터 파일로 업로드할 수 있습니다.

Match 도구는 별도의 관심을 받을 가치가 있습니다 — 팀 내에서 iOS 인증서 저장 및 동기화 문제를 해결합니다. Match는 인증서와 프로비저닝 프로파일을 Git 리포지토리에 암호화하여 저장하고, 개발자는 fastlane match를 실행하면 자동으로 획득합니다. 이를 통해 각 작업 환경의 수동 설정이 필요 없습니다.

Snapshot: 스크린샷 생성

Snapshot은 다양한 기기 및 언어에서 모바일 앱의 스크린샷을 자동으로 작성하는 도구입니다. Snapshot은 iOS 시뮬레이터에서 UI 테스트를 실행하며 테스트의 각 단계별로 화면을 캡처합니다. 결과물은 fastlane/screenshots 디렉토리에 저장되고 deliver를 통해 App Store Connect에 업로드할 수 있습니다.

Android의 경우 screengrab이 Android 에뮬레이터에서 동일한 기능을 수행합니다. 두 도구 모두 로컬라이젤이션을 지원하여 각 언어별로 스크린샷이 작성되므로, 다언어 앱 스토에 게재하기 위한 자료 준비가 간소화됩니다.

iOS 앱을 위한 Fastlane 설정

iOS 프로젝트의 경우, Fastlane은 Gemfile(fastlane gem 설치) 및 fastlane 디렉토리의 Fastfile을 통해 구성됩니다. 초기 설정은 fastlane init 명문어로 수행되며, 기본 디렉토리 구조를 생성하고 App Store Connect 데이터를 묻으며 주요 lanes이 포함된 Fastfile 템플릿을 생성합니다.

iOS의 경우 가장 중요한 명령어는 fastlane match로, 인증서와 프로비저닝 프로파일을 획득하기 위해 먼저 실행해야 합니다. 성공적으로 서명한 후, Fastlane은 앱을 빌드(gym)하고, 테스트를 실행(scan)하며, 바이너리를 업로드(pilot 또는 deliver)할 수 있습니다.

ruby
# iOS 앱용 Fastfile
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분)을 자동으로 처리합니다.

Android 앱을 위한 Fastlane 설정

Android 프로젝트의 경우, Fastlane은 유사하게 구성되지만 Xcode 도구 대신 Gradle과 Android SDK가 사용됩니다. Android용 Fastlane은 APK 및 AAB 빌드, apksigner 또는 jarsigner를 통한 서명, 계곁화 테스트 실행 및 Supply action을 통한 Google Play Console 업로드를 지원합니다.

주요 차이점은 Android 빌드가 match를 통한 인증서 관리가 필요 없다는 것입니다 (Android 서명은 별도로 저장되는 Keystore로 관리됩니다). Android용 Fastlane은 gradle action으로 임의 Gradle 작업을 실행하고 supply action으로 Google Play와 작업합니다.

ruby
# Android 앱용 Fastfile
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 Play API에 접근할 수 있는 Google Cloud 서비스 계정이 필요합니다. Fastlane은 SUPPLY_JSON_KEY 환경 변수 또는 supply action의 json_key 매개변수를 통해 서비스 계정의 JSON 키를 받아들입니다. 게재 트래크는 internal, alpha, beta 또는 production이 있습니다.

Fastlane을 CI/CD 시스템과 연동

Fastlane은 Ruby 스크립트를 실행할 수 있는 모든 CI/CD 시스템과 연동할 수 있습니다: Jenkins, Travis CI, GitHub Actions, GitLab CI, Bitrise 그리고 CircleCI. 연동은 fastlane gem을 설치하고 파이프라인의 script 단계에서 fastlane [lane_name] 명령어를 실행하면 됩니다.

CI/CD에서는 민감한 데이터를 저장하기 위한 환경 변수 설정이 중요합니다: MATCH_PASSWORD(인증서 암호화 비밀번호), FASTLANE_USER(Apple ID), FASTLANE_PASSWORD(Apple ID 비밀번호). Travis CI에서는 변수가 travis encrypt로 암호화되고, GitHub Actions에서는 리포지토리 Secrets를 통해 관리됩니다.

권장되는 방법은 CI/CD에서 fastlane match를 readonly 플래그로 사용하여 인증서 리포지토리에 의도치 않은 변경을 방지하는 것입니다. Android의 경우 Base64로 인코딩되어 환경 변수에 저장된 Keystore를 사용하며, before_install 단계에서 복호화하여 임시 파일로 저장합니다.

Fastlane Match: 인증서 및 프로파일 관리

Fastlane Match는 iOS 인증서 및 프로비저닝 프로파일 관리를 자동화하는 도구로, 팀을 위한 가장 가치 있는 Fastlane 기능 중 하나입니다. Match는 암호화된 Git 리포지토리를 생성하고(또는 기존 것을 사용하여) 모든 인증서와 프로파일을 저장하며, 개발자와 CI/CD 서버 간에 동기화합니다.

Match는 다얯 가지 프로파일 유형을 지원합니다: development, adhoc, appstore, enterprise 그리고 developer_id. 각 유형은 리포지토리 내의 별도 디렉토리에 저장됩니다. fastlane match development 명문어는 개발 인증서를 로컬 머신에 설치하고, fastlane match appstore는 CI 빌드용 App Store 프로파일을 설치합니다.

ruby
# Fastfile에서 Match 사용
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 앱을 위한 Open Source 자동화 도구입니다. 단일 구성 파일 Fastfile과 내장 도구 세트를 통해 빌드, 테스트, 코드 서명 및 App Store와 Google Play에 배포하는 과정을 자동화합니다.

Fastlane에는 어떤 도구가 포함되어 있나요?

Fastlane의 주요 도구: scan(테스트), gym(iOS 빌드), match(인증서), deliver(App Store), pilot(TestFlight), snapshot(스크린샷), supply(Google Play) 그리고 frameit(스크린샷 프레임). 각 도구는 lane 내의 action으로나 명령 펌에서 사용할 수 있습니다.

iOS 앱에 Fastlane을 설정하려면 어떻게 하나요?

gem fastlane을 설치하고 프로젝트 루트에서 fastlane init을 실행하세요. 빌드(gym) 및 테스트(scan)을 위한 lanes으로 Fastfile을 구성하세요. Git 리포지토리를 통한 인증서 관리를 위해 Match를 설정하세요. App Store Connect에 업로드하기 위한 pilot 또는 deliver로 deploy lane을 추가하세요.

Android 앱에 Fastlane을 설정하려면 어떻게 하나요?

패키지 이름을 지정하여 fastlane init을 실행하세요. gradle action을 사용하여 Gradle 작업(assembleRelease, testReleaseUnitTest)을 실행하세요. 환경 변수를 통해 Keystore를 구성하세요. supply action을 사용하여 AAB 또는 APK를 Google Play Console의 필요한 트래크에 업로드하세요.

Fastlane을 CI/CD 시스템과 연동하려면 어떻게 하나요?

CI/CD 서버에 gem fastlane을 설치하고 파이프라인의 script 단계에 fastlane [lane_name] 명령어를 추가하세요. FASTLANE_USER, FASTLANE_PASSWORD 및 MATCH_PASSWORD를 CI/CD의 시크릿 변수로 구성하세요. 인증서의 의도치 않은 변경을 막기 위해 CI에서는 match readonly를 사용하세요.

요약

  • Fastlane — iOS 및 Android를 지원하는 모바일 빌드 자동화를 위한 Open Source 도구
  • Actions — 빌드, 테스트, 서명 및 배포를 위한 기본 명령어(200개 이상 내장)
  • Lanes — 순차적인 CI/CD 프로세스로 여러 actions을 결합하는 Fastfile 시나리오
  • Match — 암호화된 Git 리포지토리를 통한 iOS 인증서 관리 시스템
  • iOS: scan 테스트, gym 빌드, pilot TestFlight
  • Android: gradle 빌드, supply Google Play
  • Fastlane은 Jenkins, Travis CI, GitHub Actions 등과 연동 가능

턴키 방식의 모바일 애플리케이션을 개발해 드립니다

IT Sectr는 2017년부터 스타트업과 기업을 위한 iOS 및 Android 애플리케이션을 만듭니다. 저희가 상담해 드리고 최적의 솔루션을 제안하겠습니다.

프로젝트 논의

더 읽어보기