Match (Fastlane): apa itu, manajemen sertifikat dan konfigurasi dalam pengembangan

Penulis: IT Sectr Diterbitkan: 2026-04-14 Waktu membaca: 10 mnt

Match (Fastlane) — adalah alat untuk mengelola sertifikat Code Signing dan Provisioning Profiles iOS, yang menyimpannya di repositori Git terenkripsi. Berbeda dengan manajemen manual melalui Apple Developer Portal, Match mengotomatiskan sinkronisasi tanda tangan di antara semua pengembang dan sistem CI/CD. Menurut dokumentasi resmi Fastlane (2026), Match menghilangkan hingga 90% kesalahan yang terkait dengan sertifikat yang salah saat membangun aplikasi iOS.

Poin Utama

  • Match — utilitas Fastlane untuk penyimpanan terpusat dan sinkronisasi sertifikat iOS dan Provisioning Profiles melalui repositori Git terenkripsi.
  • Semua sertifikat dienkripsi menggunakan OpenSSL sebelum disimpan di repositori, memastikan keamanan kunci bahkan saat akses publik ke repositori.
  • Match mendukung beberapa jenis profil: development, appstore, adhoc, dan enterprise — untuk skenario pembangunan dan distribusi yang berbeda.
  • Integrasi dengan CI/CD memungkinkan tim untuk secara otomatis mendapatkan sertifikat terkini tanpa ekspor manual dari Apple Developer Portal di setiap mesin.
  • Bendera --readonly mencegah perubahan sertifikat yang tidak disengaja di lingkungan CI dan menjamin stabilitas pipeline pembangunan otomatis.

Apa itu Match (Fastlane)?

Match (Fastlane) — adalah komponen ekosistem Fastlane, yang ditujukan untuk manajemen terpusat sertifikat Code Signing dan Provisioning Profiles untuk pengembangan iOS. Ini memecahkan masalah sinkronisasi tanda tangan di antara anggota tim dan mengotomatiskan konfigurasi sertifikat di pipeline CI/CD tanpa keterlibatan pengembang.

Tanpa Match, setiap anggota tim secara manual menghasilkan sertifikat melalui Xcode atau Apple Developer Portal, yang menyebabkan konflik saat membangun di mesin yang berbeda. Code Signing — adalah proses penandatanganan digital aplikasi iOS, yang mengonfirmasi kepengarangan dan integritasnya sebelum diinstal pada perangkat pengguna.

Menurut Apple Developer Documentation (2025), konfigurasi sertifikat yang salah adalah salah satu penyebab paling umum penolakan saat mengirimkan aplikasi ke App Store. Match secara otomatis memeriksa validitas sertifikat dan memperingatkan tentang masa berlaku yang akan berakhir, sehingga mengurangi risiko penolakan build pada tahap verifikasi Apple.

Gunakan Match di proyek apa pun dengan dua atau lebih pengembang atau dengan pipeline CI/CD — ini akan mengurangi waktu pengaturan lingkungan untuk anggota tim baru dari 30 menit menjadi satu perintah di terminal.

Bagaimana cara kerja Match: penyimpanan Git terenkripsi

Arsitektur Match dibangun di atas konsep sumber kebenaran tunggal untuk semua sertifikat tim iOS. Alih-alih penyimpanan lokal di keychain setiap pengembang, Match menyatukan sertifikat dalam satu repositori Git dengan enkripsi setiap file sebelum disimpan.

Prosesnya terdiri dari tiga tahap. Pada tahap inisialisasi, Match menghasilkan semua sertifikat dan profil yang diperlukan melalui Apple Developer Portal API. Setiap file dienkripsi dengan algoritma AES-256 dengan kunci yang dibentuk berdasarkan frasa sandi pengguna. File terenkripsi disimpan di repositori Git dan disinkronkan dengan server jarak jauh melalui operasi Git push dan pull standar.

Arsitektur enkripsi sertifikat

Match menggunakan kombinasi OpenSSL dan frasa sandi pengguna untuk mengenkripsi sertifikat dan profil. Kunci akses ditetapkan melalui variabel lingkungan MATCH_PASSWORD dan tidak disimpan di repositori, yang menghilangkan kebocoran bahkan saat server Git dikompromikan atau akses publik ke repositori.

Saat meminta sertifikat, Match memuat file terenkripsi dari repositori, mendekripsinya secara lokal menggunakan frasa sandi, dan menginstalnya di Keychain mesin saat ini. Setelah pembangunan selesai, sertifikat dapat dihapus dari Keychain untuk mematuhi kebijakan keamanan lingkungan perusahaan — ini mencegah penggunaan sertifikat usang di pembangunan berikutnya.

Setiap sertifikat disimpan dengan nama yang berisi pengidentifikasi aplikasi, jenis profil, dan tanggal pembuatan. Struktur ini memungkinkan Match untuk mengelola versi sertifikat dan, jika perlu, kembali ke keadaan sebelumnya melalui perintah Git revert dan reset standar. Ini sangat berguna saat penghapusan tidak sengaja atau penimpaan profil.

Pengaturan dan konfigurasi Match

Instalasi Match dilakukan bersama dengan Fastlane melalui manajer paket Ruby: gem install fastlane. Setelah instalasi, repositori sertifikat perlu diinisialisasi dengan perintah fastlane match init, yang membuat repositori Git kosong dan menghasilkan file Matchfile dengan template pengaturan dasar.

bash
# Inisialisasi repositori Match
fastlane match init

Konfigurasi melalui Matchfile

File Matchfile berisi semua parameter koneksi ke repositori sertifikat: URL repositori Git, jenis profil default, pengidentifikasi aplikasi, dan kredensial Apple Developer. Contoh konfigurasi tipikal untuk tim yang terdiri dari lima pengembang:

ruby
# Matchfile configuration
git_url("https://github.com/company/certificates.git")
type(:development)
app_identifier(["com.company.app", "com.company.app.extension"])
username("developer@company.com")
team_id("TEAM123456")
git_branch("main")

Parameter type menentukan jenis profil: :development untuk debugging pada perangkat pengembang, :appstore untuk publikasi di App Store, :adhoc untuk pengujian pada perangkat eksternal, dan :enterprise untuk distribusi perusahaan In-House di luar App Store. Setiap jenis membuat direktori terpisah di repositori, memungkinkan pengorganisasian profil berdasarkan skenario build target.

Match mendukung beberapa metode otentikasi di Apple Developer Portal: otentikasi dua faktor melalui Apple ID, App-Specific Password, dan kunci API App Store Connect API. Untuk CI/CD, disarankan menggunakan kunci API — kunci ini tidak memerlukan input kode konfirmasi interaktif dan tidak memblokir build otomatis saat perangkat pengembang berubah.

Pembuatan dan sinkronisasi profil

Setelah mengonfigurasi Matchfile, perintah fastlane match development atau fastlane match appstore dijalankan untuk membuat dan menyinkronkan profil. Match secara otomatis membuat atau memperbarui sertifikat melalui Apple Developer Portal API dan menyimpannya di repositori. Apple Developer Portal — adalah antarmuka web Apple untuk mengelola sertifikat, pengidentifikasi aplikasi, dan daftar perangkat pengembang yang diizinkan.

Saat pertama kali dijalankan, Match akan meminta frasa sandi untuk mengenkripsi repositori. Frasa ini harus disimpan di manajer rahasia CI/CD (GitHub Actions Secrets, GitLab CI Variables, atau Jenkins Credentials) dan diteruskan melalui variabel lingkungan MATCH_PASSWORD. Tanpanya, Match tidak akan dapat mendekripsi sertifikat di mesin lain atau di lingkungan CI.

Perintah dasar Match untuk manajemen sertifikat

Antarmuka Match terdiri dari serangkaian perintah untuk membuat, memperbarui, menyinkronkan, dan menghapus sertifikat dan profil. Setiap perintah sesuai dengan tindakan tertentu dalam siklus hidup Code Signing: dari pembuatan hingga pembersihan total repositori.

Perintah untuk pekerjaan sehari-hari

Perintah fastlane match development memuat atau membuat sertifikat dan profil Development untuk debugging pada perangkat lokal. Provisioning Profile — adalah dokumen digital Apple yang menghubungkan sertifikat pengembang dengan pengidentifikasi aplikasi dan daftar perangkat yang diizinkan untuk instalasi.

Untuk publikasi di App Store, digunakan fastlane match appstore — yang menghasilkan sertifikat Distribution dan profil AppStore. Perintah fastlane match adhoc membuat profil untuk pengujian pada perangkat eksternal, dan fastlane match enterprise — untuk aplikasi perusahaan In-House.

bash
# Membuat profil Development untuk debugging
fastlane match development

# Membuat profil AppStore untuk rilis
fastlane match appstore

# Mengimpor sertifikat yang sudah ada secara manual
fastlane match import

Perintah fastlane match import memungkinkan penambahan sertifikat yang sudah ada ke repositori — berguna saat migrasi dari manajemen manual ke Match. Parameter --readonly memblokir semua perubahan di repositori, yang sangat penting untuk lingkungan CI, di mana pipeline tidak boleh membuat atau menghapus sertifikat dan profil secara otomatis.

Perintah MatchTujuanJenis Profil
match developmentMembuat profil Development untuk debugging pada perangkatDevelopment
match appstoreMembuat profil untuk publikasi di App StoreAppStore
match adhocProfil untuk pengujian eksternal pada perangkat penguji betaAdHoc
match enterpriseProfil perusahaan untuk distribusi In-HouseEnterprise
match importImpor sertifikat yang telah dibuat sebelumnya ke repositoriSemua

Untuk pembersihan total repositori, digunakan perintah fastlane match nuke. Perintah ini menghapus semua sertifikat dari repositori Git, Apple Developer Portal, dan mesin lokal — pengaturan ulang total status Code Signing untuk proyek. Perintah hanya diterapkan pada konflik kritis atau saat pindah ke akun Apple Developer baru.

Integrasi Match ke dalam pipeline CI/CD

Integrasi CI/CD Match — salah satu keuntungan utama alat ini. Di pipeline GitHub Actions, GitLab CI, Bitrise, atau Jenkins, Match secara otomatis memuat dan menginstal sertifikat yang benar tanpa keterlibatan pengembang. Ini memungkinkan pembangunan dan penandatanganan aplikasi iOS yang sepenuhnya otomatis dari commit hingga IPA akhir.

Konfigurasi tipikal untuk GitHub Actions mencakup instalasi Fastlane, pengaturan variabel MATCH_PASSWORD, dan menjalankan Match dengan bendera --readonly. GitHub Actions — adalah platform CI/CD dari GitHub yang mengotomatiskan pembangunan, pengujian, dan publikasi kode berdasarkan peristiwa di repositori.

bash
# Menginstal Fastlane di lingkungan CI
gem install fastlane --no-document

# Menjalankan Match dalam mode read-only tanpa hak perubahan
fastlane match development --readonly

Sebelum menjalankan Match di CI, akses ke repositori sertifikat perlu dikonfigurasi. Fastlane secara otomatis mengkloning repositori berdasarkan parameter git_url dari Matchfile. Akses ke repositori dikonfigurasi melalui kunci SSH atau personal access token, yang ditambahkan ke rahasia sistem CI — ini menjamin bahwa sertifikat tidak akan dikompromikan melalui akses publik.

Konfigurasikan variabel lingkungan MATCH_PASSWORD dan FASTLANE_APPLE_API_KEY di rahasia penyedia CI Anda. Kunci API App Store Connect memungkinkan Match untuk mengautentikasi di Apple Developer Portal tanpa otentikasi dua faktor, yang menghilangkan permintaan interaktif dalam build otomatis dan mencegah pemblokiran pipeline.

Kesalahan umum saat bekerja dengan Match

Bahkan dengan konfigurasi Match yang benar, kesalahan dapat terjadi terkait dengan kedaluwarsa sertifikat, konflik profil, atau konfigurasi lingkungan yang salah. Diagnostik masalah Match didasarkan pada analisis log perintah dan pemeriksaan repositori Git sertifikat untuk keaktualan.

Kesalahan paling umum — «You need to provide a password for Match» — terjadi ketika variabel lingkungan MATCH_PASSWORD tidak disetel di mesin atau di lingkungan CI. Solusi: tambahkan MATCH_PASSWORD ke variabel lingkungan sistem atau berikan kata sandi melalui parameter --keychain_password saat menjalankan perintah Match.

Masalah kedua yang paling sering terjadi adalah konflik sertifikat saat menambahkan perangkat baru ke profil AdHoc. Diselesaikan dengan perintah fastlane match adhoc --force, yang membuat ulang profil dengan mempertimbangkan perangkat baru. Apple Developer sertifikat berlaku selama satu tahun, setelah itu build yang menggunakannya ditolak oleh App Store Connect. Match memperingatkan tentang kedaluwarsa 30 hari sebelum akhir masa berlaku.

Pada kesalahan «Multiple matches found for...» di repositori terdapat beberapa versi dari sertifikat yang sama. Gunakan perintah fastlane match nuke untuk pembersihan total repositori dan penghapusan semua sertifikat dari Apple Developer Portal. Setelah pembersihan, lakukan pembuatan dari awal — ini menjamin keadaan profil yang konsisten tanpa duplikat dan versi yang bertentangan.

Pertanyaan yang Sering Diajukan

Bagaimana Match mengenkripsi sertifikat di repositori Git?

Match menggunakan OpenSSL dengan algoritma AES-256-CBC untuk mengenkripsi setiap file sertifikat sebelum disimpan di Git. Kunci enkripsi dibentuk berdasarkan frasa sandi MATCH_PASSWORD. Bahkan dengan akses publik ke repositori, sertifikat tetap tidak dapat diakses tanpa mengetahui kata sandi.

Bisakah Match digunakan tanpa repositori Git?

Tidak, Match memerlukan repositori Git untuk menyimpan sertifikat terenkripsi. Namun, repositori dapat bersifat lokal jika sinkronisasi antar mesin tidak diperlukan. Dalam hal ini, di parameter git_url ditentukan jalur lokal ke direktori pada sistem file, bukan URL repositori jarak jauh.

Apa yang harus dilakukan saat terjadi konflik versi sertifikat di tim?

Konflik terjadi ketika dua pengembang secara bersamaan menghasilkan sertifikat yang berbeda. Solusi — gunakan perintah fastlane match nuke untuk pembersihan total semua sertifikat di repositori dan Apple Developer Portal. Setelah pembersihan, satu pengembang melakukan pembuatan dari awal dan menyinkronkan melalui Git.

Bagaimana cara memperbarui sertifikat di Match setelah kedaluwarsa?

Match secara otomatis mendeteksi sertifikat yang kedaluwarsa saat dijalankan dan menyarankan penggantiannya. Untuk pembaruan paksa, jalankan fastlane match [type] --force — perintah membuat ulang sertifikat dan profil dari jenis yang ditentukan, bahkan jika yang sudah ada masih berlaku, yang berguna saat pergantian tim pengembang.

Apa perbedaan Match dengan manajemen sertifikat manual di Xcode?

Manajemen manual memerlukan pembuatan sertifikat melalui Xcode atau Developer Portal untuk setiap mesin secara terpisah. Match memusatkan penyimpanan, mengenkripsi data, menyinkronkannya di antara pengembang dan CI/CD, serta secara otomatis memeriksa validitas dan masa berlaku semua tanda tangan tanpa keterlibatan manusia.

Kesimpulan

  • Match — alat Fastlane untuk mengelola sertifikat Code Signing iOS melalui repositori Git terenkripsi sebagai sumber kebenaran tunggal.
  • Enkripsi berdasarkan AES-256 dan OpenSSL melindungi sertifikat bahkan saat akses publik ke repositori, dan frasa sandi ditetapkan melalui variabel MATCH_PASSWORD.
  • Match mendukung empat jenis profil: development, appstore, adhoc, dan enterprise — masing-masing untuk skenario distribusi aplikasi targetnya sendiri.
  • Konfigurasi dilakukan melalui file Matchfile, di mana git_url, jenis profil, pengidentifikasi aplikasi, dan kredensial Apple Developer ditentukan.
  • Integrasi dengan CI/CD melalui bendera --readonly memungkinkan perolehan sertifikat secara otomatis di pipeline tanpa risiko perubahan repositori dan konflik.
  • Saat terjadi masalah, perintah nuke digunakan untuk pembersihan total repositori atau --force untuk pembaruan paksa sertifikat dan profil.

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