Fastlane: apa itu, otomatisasi build dan publikasi

Penulis: IT Sectr Diterbitkan: 2026-02-13 Waktu membaca: 10 mnt

Fastlane — alat otomatisasi build dan publikasi aplikasi mobile untuk iOS dan Android. Fastlane mengelola penandatanganan kode, build, menjalankan tes, membuat screenshot, dan mengunggah ke App Store Connect dan Google Play Console. Ini adalah standar de facto untuk CI/CD dalam pengembangan mobile.

Kesimpulan utama

  • Fastlane mengotomatiskan seluruh pipeline rilis mobile: build, pengujian, penandatanganan, dan publikasi dengan satu perintah
  • Fastfile — file konfigurasi dalam Ruby, yang mendeskripsikan lanes — skenario otomatisasi bernama
  • Dukungan iOS dan Android — Fastlane bekerja dengan Xcode, Gradle, App Store Connect, Google Play, TestFlight, dan Firebase
  • match dan sigh — pengelolaan sertifikat dan provisioning profile untuk pengembangan iOS
  • Integrasi dengan CI/CD — Fastlane terintegrasi ke dalam GitHub Actions, GitLab CI, Bitrise, Jenkins, dan CircleCI

Fastlane — apa itu

Fastlane — adalah alat open-source yang mengotomatiskan tugas rutin pengembangan mobile: membangun aplikasi, menjalankan tes, membuat screenshot, mengelola sertifikat, mengunggah build ke TestFlight, App Store, dan Google Play. Fastlane ditulis dalam Ruby dan didistribusikan melalui RubyGems dengan perintah gem install fastlane.

Fastlane muncul pada tahun 2015 sebagai alat iOS, tetapi dengan cepat berkembang ke Android. Saat ini, ini adalah ekosistem puluhan actions — perintah bawaan yang dapat digabungkan dalam skenario yang disebut lanes. Setiap lane melakukan tugas tertentu: misalnya, build_release membangun versi rilis, dan deploy_beta mengunggah build ke TestFlight.

Fastlane digunakan oleh perusahaan seperti Uber, Airbnb, Snapchat, Twitter, dan Shopify. Menurut survei tahun 2024, lebih dari 60% pengembang iOS menggunakan Fastlane dalam proyek mereka. Alat ini mendukung baik eksekusi lokal maupun integrasi dengan sistem CI cloud, menjadikannya standar de facto untuk CI/CD mobile.

ruby
# Instalasi Fastlane
sudo gem install fastlane -NV

# Inisialisasi dalam proyek
fastlane init

Setelah inisialisasi, Fastlane membuat direktori fastlane/ dengan tiga file: Fastfile (skenario), Appfile (pengaturan aplikasi), dan Matchfile (pengaturan sertifikat). Struktur ini tetap sama untuk kedua platform — iOS dan Android.

Fastfile dan lanes

File konfigurasi utama Fastlane — Fastfile. Berada di direktori fastlane/ di root proyek. Fastfile ditulis dalam Ruby: setiap lane adalah blok bernama dengan urutan actions. Lane dapat menerima parameter, memanggil lane lain, dan mengembalikan nilai.

ruby
# fastlane/Fastfile — contoh untuk iOS
default_platform(:ios)

platform :ios do
  desc "Build and upload to TestFlight"
  lane :beta do
    match(type: "appstore")
    gym(scheme: "MyApp", configuration: "Release")
    pilot(skip_waiting_for_build: true)
  end

  desc "Deploy to App Store"
  lane :release do
    ensure_git_status_clean
    match(type: "appstore")
    gym(scheme: "MyApp")
    deliver(
      skip_metadata: true,
      skip_screenshots: true
    )
    push_to_git_remote(tags: true)
  end
end

Setiap lane dijalankan dengan perintah fastlane ios beta atau fastlane ios release. Fastfile mendukung variabel, kondisi, perulangan, dan pemanggilan skrip eksternal — ini adalah file Ruby yang lengkap. Pengembang dapat menggunakan kembali kode melalui private_lane (metode lokal) dan import dari Fastfile lain.

Fastlane menyediakan lebih dari 200 actions bawaan untuk sebagian besar tugas. Jika action yang diperlukan tidak ada, Anda dapat menulis action sendiri dalam Ruby atau memanggil perintah shell melalui sh("..."). Actions dapat menerima parameter — pengaturan build, jalur, token akses — dan mengembalikan hasil untuk digunakan di langkah berikutnya.

Otomatisasi build iOS

Fastlane untuk iOS memecahkan tiga masalah utama: pengelolaan sertifikat dan provisioning profile, build IPA melalui Xcode, dan publikasi ke App Store Connect dan TestFlight. Masing-masing tugas ini ditangani oleh action terpisah.

match — action untuk pengelolaan sertifikat. Menyimpan semua sertifikat dan provisioning profile di repositori Git terenkripsi. Setiap pengembang dan server CI menggunakan set file yang sama, yang menghilangkan konflik dan masalah dengan sertifikat kedaluwarsa. Match secara otomatis memperbarui profil saat perangkat baru ditambahkan.

sigh — membuat dan mengunduh provisioning profile melalui Apple Developer Portal. Digunakan ketika perlu mendapatkan profil dengan cepat untuk tipe tertentu: development, ad-hoc, atau appstore.

gym — pembuatan IPA. Gym membungkus xcodebuild dengan parameter optimal, secara otomatis memilih skema, konfigurasi, opsi ekspor, dan membuat IPA yang ditandatangani. Contoh: gym(scheme: "MyApp", export_method: "app-store").

pilot — pengelolaan TestFlight. Mengunggah build, menambahkan tester, melacak status tinjauan. deliver — publikasi lengkap di App Store, termasuk metadata, screenshot, harga, dan versi.

ruby
# Membangun dan mempublikasikan aplikasi iOS
lane :deploy_ios do
  cocoapods
  match(type: "appstore", readonly: true)
  gym(scheme: "MyApp", export_method: "app-store")
  pilot(changelog: "Bug fixes and performance improvements")
end

Untuk bekerja dengan App Store Connect diperlukan token akses. Fastlane mendukung dua metode autentikasi: App Store Connect API Key (disarankan) dan Apple ID dengan autentikasi dua faktor. Kunci API lebih nyaman untuk CI/CD karena tidak memerlukan input kata sandi interaktif.

ActionTujuanPadanan manual
matchPengelolaan sertifikat dan profilApple Developer Portal
sighPembuatan provisioning profileXcode + Developer Portal
gymPembuatan IPAxcodebuild + xcrun
pilotUnggah ke TestFlightXcode Organizer
deliverPublikasi di App StoreApp Store Connect Web
scanMenjalankan tes UIxcodebuild test

Otomatisasi build Android

Di Android, Fastlane mengotomatiskan build melalui Gradle, penandatanganan APK dan AAB, unggah ke Google Play Console dan Firebase App Distribution.

gradle — action utama untuk build Android. Memanggil Gradle wrapper dengan tugas yang diperlukan: gradle(task: "assembleRelease") atau gradle(task: "bundleRelease") untuk AAB. Flag, variabel lingkungan, dan jalur ke gradle.properties dapat diteruskan.

supply — unggah APK atau AAB ke Google Play Console. Supply mengelola versi, track (internal, alpha, beta, production), catatan rilis, harga, dan negara distribusi. Contoh: supply(track: "beta", release_status: "completed").

screengrab — pembuatan screenshot untuk Google Play. Menjalankan tes instrumentasi yang mengambil screenshot layar aplikasi di berbagai perangkat dan bahasa. Screenshot yang diperoleh diunggah melalui supply.

ruby
# Membangun dan mempublikasikan aplikasi Android
lane :deploy_android do
  gradle(task: "clean bundleRelease")
  supply(
    track: "beta",
    release_status: "completed",
    version_code: 42
  )
end
ActionTujuanPadanan manual
gradleBuild melalui Gradle./gradlew assembleRelease
supplyUnggah ke Google PlayGoogle Play Console Web
screengrabPembuatan screenshotScreenshot manual + ImageMagick
firebase_app_distributionDistribusi melalui FirebaseFirebase Console Upload

Integrasi dengan CI/CD

Fastlane dirancang untuk bekerja dalam pipeline CI/CD. Ia menangani mode non-interaktif, variabel lingkungan, dan artefak build dengan benar. Di bawah ini — contoh integrasi dengan sistem CI populer.

Di GitHub Actions, Fastlane dijalankan sebagai skrip Ruby. Alur kerja tipikal: instalasi Ruby dan Fastlane, konfigurasi kunci (sertifikat, token API melalui secrets), menjalankan lane. Untuk iOS diperlukan runner macOS; Android berjalan di ubuntu-latest.

Di GitLab CI, Fastlane digunakan di .gitlab-ci.yml dengan skema serupa: instalasi dependensi, menjalankan fastlane, transfer artefak. GitLab CI mendukung runner macOS dan Linux.

Bitrise — CI/CD khusus untuk aplikasi mobile — memiliki dukungan bawaan untuk Fastlane. Bitrise Workflow dapat memanggil Fastlane Step atau menjalankan skrip arbitrer dengan fastlane. Bitrise mengelola sertifikat melalui manajer Code Signing-nya sendiri.

ruby
# Fastfile untuk CI/CD dengan eksekusi tes bersyarat
lane :ci_test do
  scan(scheme: "MyApp", code_coverage: true)
end

lane :ci_beta do
  ensure_git_status_clean
  version_bump_podspec(path: "MyApp.podspec")
  match(type: "appstore", readonly: true)
  gym(scheme: "MyApp", export_method: "app-store")
  pilot(distribute_external: true)
end

Aspek penting dari integrasi CI/CD — penyimpanan rahasia. Fastlane menggunakan file .env melalui dotenv dan variabel lingkungan. Untuk iOS, variabel kritis adalah: MATCH_PASSWORD, FASTLANE_APPLE_API_KEY, FASTLANE_APPLE_API_KEY_ID. Untuk Android: SUPPLY_JSON_KEY_DATA — konten akun layanan Google Play.

Actions Fastlane populer

Fastlane mencakup lebih dari 200 actions bawaan. Di bawah ini — ikhtisar yang paling populer dengan indikasi platform dan tujuan.

ActionPlatformDeskripsi
gymiOSPembuatan IPA dengan parameter xcodebuild yang dioptimalkan
matchiOSSinkronisasi sertifikat dan provisioning profile melalui Git
pilotiOSUnggah build ke TestFlight dan kelola tester
deliveriOSPublikasi aplikasi di App Store dengan metadata
scaniOSMenjalankan tes unit dan UI dengan pembuatan laporan
gradleAndroidMenjalankan tugas Gradle: assemble, bundle, test
supplyAndroidUnggah APK dan AAB ke Google Play Console
screengrabAndroidScreenshot otomatis untuk Google Play
firebase_app_distributionAndroidDistribusi build melalui Firebase
snapshotiOSScreenshot otomatis di simulator untuk App Store
increment_build_numberiOSInkremen otomatis nomor build di proyek Xcode
appcenter_uploadKeduanyaUnggah build ke App Center

Untuk mencari action yang diperlukan, gunakan perintah fastlane action [nama], yang menampilkan dokumentasi, parameter, dan contoh. Daftar lengkap tersedia secara lokal: fastlane actions.

Fastlane juga mendukung plugins — ekstensi komunitas yang menambahkan actions baru. Plugin diinstal melalui fastlane add_plugin [nama] dan tersedia di registry RubyGems. Contoh plugin populer: fastlane-plugin-versioning (manajemen versi), fastlane-plugin-sentry (unggah debug symbols ke Sentry), fastlane-plugin-teams (notifikasi di Microsoft Teams).

Frequently Asked Questions

Fastlane — apa itu dan untuk apa?

Fastlane — adalah alat otomatisasi build dan publikasi aplikasi mobile. Ia diperlukan untuk menggantikan operasi manual — build, penandatanganan, unggah ke toko — dengan satu perintah. Fastlane mengurangi waktu rilis dari jam menjadi menit dan menghilangkan kesalahan manusia saat publikasi.

Bisakah Fastlane digunakan hanya untuk Android atau hanya untuk iOS?

Ya. Fastlane mendukung kedua platform secara independen. Untuk iOS diperlukan macOS, untuk Android cukup Linux. Dalam satu Fastfile, lanes dapat dipisahkan berdasarkan platform: platform :ios do ... end dan platform :android do ... end.

Bagaimana Fastlane mengelola sertifikat iOS?

Melalui action match. Ia menyimpan sertifikat terenkripsi dan provisioning profile di repositori Git. Setiap pengembang mengkloning repositori, match mendekripsi file dengan kata sandi dari variabel MATCH_PASSWORD dan menginstalnya di keychain. Ini memecahkan masalah "build di mesin saya".

Apakah Fastlane bekerja dengan Firebase App Distribution?

Ya. Fastlane memiliki action bawaan firebase_app_distribution untuk mengunggah APK dan IPA ke Firebase App Distribution. Juga tersedia firebase_app_distribution_add_testers untuk menambahkan tester. Alternatifnya — action appcenter_upload untuk App Center.

Bagaimana cara menginstal Fastlane di server CI?

Fastlane diinstal melalui RubyGems: gem install fastlane -NV. Untuk iOS diperlukan macOS dengan Xcode; untuk Android — Linux atau macOS dengan JDK dan Android SDK. Di GitHub Actions ada action siap pakai ruby/setup-ruby untuk menginstal Ruby dan Fastlane. Variabel lingkungan diteruskan melalui secrets sistem CI.

Apa perbedaan Fastlane dengan Bitrise atau Jenkins?

Fastlane — adalah pustaka dan CLI untuk otomatisasi tugas build dan publikasi. Bitrise dan Jenkins — adalah platform CI/CD lengkap. Fastlane bekerja di dalamnya: Jenkins menjalankan Fastlane sebagai langkah pipeline, Bitrise memanggil Fastlane melalui Step khusus. Fastlane tidak menggantikan sistem CI, tetapi melengkapinya dengan spesifik mobile.

Summary

  • Fastlane — alat open-source untuk otomatisasi build, pengujian, dan publikasi aplikasi mobile untuk iOS dan Android
  • Fastfile — file konfigurasi Ruby yang mendeskripsikan lanes — skenario dengan urutan actions
  • match + gym + pilot — pipeline standar untuk iOS: manajemen sertifikat, build IPA, unggah ke TestFlight
  • gradle + supply — pipeline standar untuk Android: build melalui Gradle, unggah ke Google Play Console
  • Integrasi CI/CD — Fastlane terintegrasi ke GitHub Actions, GitLab CI, Bitrise, Jenkins, dan CircleCI melalui variabel lingkungan
  • 200+ actions — perintah bawaan untuk penandatanganan, build, pengujian, screenshot, publikasi, dan notifikasi
  • Plugin — ekstensi komunitas yang menambahkan actions baru: versioning, Sentry, notifikasi di messenger

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga