Match (Fastlane): bu nədir, sertifikatların idarə edilməsi və inkişafda konfiqurasiya

Müəllif: IT Sectr Dərc olunub: 2026-04-14 Oxuma vaxtı: 10 dəq

Match (Fastlane) — Code Signing sertifikatlarını və iOS Provisioning Profiles-larını şifrələnmiş Git anbarında saxlayan bir alətdir. Apple Developer Portal vasitəsilə əl ilə idarəetmədən fərqli olaraq, Match bütün tərtibatçılar və CI/CD sistemləri arasında imzaların sinxronizasiyasını avtomatlaşdırır. Fastlane rəsmi sənədlərinə (2026) görə, Match iOS tətbiqlərinin qurulmasında səhv sertifikatlarla bağlı səhvlərin 90%-nə qədərini aradan qaldırır.

Başlıca məqamlar

  • Match — iOS sertifikatlarını və Provisioning Profiles-ları şifrələnmiş Git anbarı vasitəsilə mərkəzləşdirilmiş şəkildə saxlamaq və sinxronizasiya etmək üçün Fastlane aləti.
  • Bütün sertifikatlar anbara yazılmazdan əvvəl OpenSSL ilə şifrələnir ki, bu da anbara ictimai çıxış olsa belə açarların təhlükəsizliyini təmin edir.
  • Match müxtəlif qurma və yayma ssenariləri üçün bir neçə profil növünü dəstəkləyir: development, appstore, adhoc və enterprise.
  • CI/CD ilə inteqrasiya komandalara hər bir maşında Apple Developer Portal-dan əl ilə ixrac etmədən aktual sertifikatları avtomatik almağa imkan verir.
  • --readonly bayrağı CI mühitində sertifikatların təsadüfi dəyişdirilməsinin qarşısını alır və avtomatik qurma pipeline-ının sabitliyini təmin edir.

Match (Fastlane) nədir?

Match (Fastlane) — iOS inkişafı üçün Code Signing sertifikatlarını və Provisioning Profiles-ları mərkəzləşdirilmiş şəkildə idarə etmək üçün Fastlane ekosisteminin bir komponentidir. O, komanda üzvləri arasında imzaların sinxronizasiyası problemini həll edir və tərtibatçının iştirakı olmadan CI/CD pipeline-larında sertifikatların konfiqurasiyasını avtomatlaşdırır.

Match olmadan komandanın hər bir üzvü Xcode və ya Apple Developer Portal vasitəsilə əl ilə sertifikatlar yaradır ki, bu da müxtəlif maşınlarda qurma zamanı konfliktlərə səbəb olur. Code Signing — iOS tətbiqinin istifadəçi cihazına quraşdırılmazdan əvvəl onun müəllifliyini və bütövlüyə təsdiqləyən rəqəmsal imzalama prosesidir.

Apple Developer Documentation (2025) məlumatına görə, səhv sertifikat konfiqurasiyası tətbiqi App Store-a göndərərkən imtinanın ən geniş yayılmış səbəblərindən biridir. Match avtomatik olaraq sertifikatların etibarlılığını yoxlayır və müddəti bitən sertifikatlar barədə xəbərdarlıq edir ki, bu da Apple tərəfindən yoxlama mərhələsində qurmanın rədd edilməsi riskini azaldır.

Match-i iki və ya daha çox tərtibatçısı olan və ya CI/CD pipeline-ı olan istənilən layihədə istifadə edin — bu, yeni komanda üzvünün mühit qurma vaxtını 30 dəqiqədən terminalda bir komandaya endirəcək.

Match necə işləyir: şifrələnmiş Git anbarı

Match arxitekturası komandanın bütün iOS sertifikatları üçün vahid həqiqət mənbəyi konsepsiyası üzərində qurulub. Hər bir tərtibatçının açar zəncirində lokal saxlama /siləvəzə, Match bütün sertifikatları bir Git anbarında birləşdirir və hər faylı yazılmazdan əvvəl şifrələyir.

Proses üç mərhələdən ibarətdir. İnisializasiya mərhələsində Match Apple Developer Portal API vasitəsilə bütün lazımi sertifikatları və profilləri yaradır. Hər fayl istifadəçinin şifrəsi əsasında formalaşdırılan açarla AES-256 alqoritmi ilə şifrələnir. Şifrələnmiş fayllar Git anbarında saxlanılır və standart push və pull Git əməliyyatları vasitəsilə uzaq serverlə sinxronlaşdırılır.

Sertifikat şifrələmə arxitekturası

Match sertifikatları və profilləri şifrələmək üçün OpenSSL və istifadəçi şifrəsinin kombinasiyasından istifadə edir. Giriş açarı MATCH_PASSWORD mühit dəyişəni vasitəsilə təyin edilir və anbarda saxlanılmır ki, bu da Git serverinin kompromitasiyası və ya anbara ictimai çıxış zamanı belə məlumat sızıntısını istisna edir.

Sertifikat tələb edildikdə Match anbardan şifrələnmiş faylı yükləyir, şifrədən istifadə edərək lokal olaraq deşifrə edir və cari maşının Keychain-ə quraşdırır. Qurma tamamlandıqdan sonra sertifikatlar təhlükəsizlik siyasətlərinə riayət etmək üçün Keychain-dən silinə bilər — bu, sonrakı qurmalarda köhnəlmiş sertifikatların istifadəsinin qarşısını alır.

Hər bir sertifikat tətbiq identifikatoru, profil növü və yaradılma tarixini ehtiva edən adla saxlanılır. Bu struktur Match-a sertifikat versiyalarını idarə etməyə və lazım olduqda standart Git revert və reset komandaları vasitəsilə dəyişiklikləri əvvəlki vəziyyətə qaytarmağa imkan verir. Bu, profilin təsadüfi silinməsi və ya üzərinə yazılması zamanı xüsusilə faydalıdır.

Match-in quraşdırılması və konfiqurasiyası

Match Fastlane ilə birlikdə Ruby paket meneceri vasitəsilə quraşdırılır: gem install fastlane. Quraşdırmadan sonra fastlane match init komandası ilə sertifikat anbarını inisiallaşdırmaq lazımdır ki, bu da boş bir Git anbarı yaradır və əsas parametrlər şablonu ilə Matchfile faylı yaradır.

bash
# Match anbarının inisiallaşdırılması
fastlane match init

Matchfile vasitəsilə konfiqurasiya

Matchfile faylı sertifikat anbarına qoşulmağın bütün parametrlərini ehtiva edir: Git anbarının URL-i, standart profil növü, tətbiq identifikatorları və Apple Developer giriş məlumatları. Beş tərtibatçıdan ibarət komanda üçün tipik konfiqurasiya nümunəsi:

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")

type parametri profil növünü müəyyən edir: :development tərtibatçı cihazlarında sazlama üçün, :appstore App Store-da dərc etmək üçün, :adhoc xarici cihazlarda test etmək üçün və :enterprise App Store-dan kənarda In-House korporativ yayma üçün. Hər növ anbarda ayrıca qovluq yaradır ki, bu da profilləri məqsədli qurma ssenariləri üzrə təşkil etməyə imkan verir.

Match Apple Developer Portal-da bir neçə autentifikasiya üsulunu dəstəkləyir: Apple ID vasitəsilə iki faktorlu autentifikasiya, App-Specific Password və App Store Connect API açarları. CI/CD üçün API açarlarından istifadə etmək tövsiyə olunur — onlar interaktiv təsdiqləmə kodu daxil etməyi tələb etmir və tərtibatçı cihazı dəyişərkən avtomatik qurmaları bloklamır.

Profillərin yaradılması və sinxronizasiyası

Matchfile konfiqurasiyasından sonra profilləri yaratmaq və sinxronlaşdırmaq üçün fastlane match development və ya fastlane match appstore komandası yerinə yetirilir. Match avtomatik olaraq Apple Developer Portal API vasitəsilə sertifikatları yaradır və ya yeniləyir və onları anbarda saxlayır. Apple Developer Portal — sertifikatları, tətbiq identifikatorlarını və tərtibatçıların icazəli cihazlarının siyahısını idarə etmək üçün Apple-ın veb interfeysidir.

İlk işə salınmada Match anbarı şifrələmək üçün parol tələb edəcək. Bu parol CI/CD sirr menecerində (GitHub Actions Secrets, GitLab CI Variables və ya Jenkins Credentials) saxlanılmalı və MATCH_PASSWORD mühit dəyişəni vasitəsilə ötürülməlidir. Onsuz Match digər maşınlarda və ya CI mühitində sertifikatları deşifrə edə bilməyəcək.

Sertifikatları idarə etmək üçün Match əsas komandaları

Match interfeysi sertifikatları və profilləri yaratmaq, yeniləmək, sinxronlaşdırmaq və silmək üçün komandalar toplusundan ibarətdir. Hər bir komanda Code Signing həyat dövründə müəyyən bir hərəkətə uyğun gəlir: generasiyadan anbarın tam təmizlənməsinə qədər.

Gündəlik iş üçün komandalar

fastlane match development komandası lokal cihazlarda sazlama üçün Development sertifikatlarını və profillərini yükləyir və ya yaradır. Provisioning Profile — tərtibatçı sertifikatını tətbiq identifikatoru və quraşdırma üçün icazəli cihazların siyahısı ilə əlaqələndirən Apple rəqəmsal sənədidir.

App Store-da dərc etmək üçün fastlane match appstore istifadə olunur — Distribution sertifikatları və AppStore profilləri yaradır. fastlane match adhoc komandası xarici cihazlarda test üçün profillər yaradır, fastlane match enterprise isə In-House korporativ tətbiqlər üçün.

bash
# Sazlama üçün Development profillərinin yaradılması
fastlane match development

# Buraxılış üçün AppStore profillərinin yaradılması
fastlane match appstore

# Mövcud əl ilə yaradılmış sertifikatların idxalı
fastlane match import

fastlane match import komandası mövcud sertifikatları anbara əlavə etməyə imkan verir — əl ilə idarəetmədən Match-ə keçid zamanı faydalıdır. --readonly parametri anbarda hər hansı dəyişikliyi bloklayır ki, bu da pipeline-ın avtomatik olaraq sertifikatları və profilləri yaratmamalı və ya silməməli olduğu CI mühiti üçün kritik əhəmiyyət kəsb edir.

Match komandasıTəyinatProfil növü
match developmentCihazlarda sazlama üçün Development profillərinin yaradılmasıDevelopment
match appstoreApp Store-da dərc üçün profillərin yaradılmasıAppStore
match adhocBeta tester cihazlarında xarici test üçün profillərAdHoc
match enterpriseIn-House yayılması üçün korporativ profillərEnterprise
match importƏvəllər yaradılmış sertifikatların anbara idxalıHər hansı

Anbarı tam təmizləmək üçün fastlane match nuke komandası istifadə olunur. O, Git anbarından, Apple Developer Portal-dan və lokal maşından bütün sertifikatları silir — bu, layihə üçün Code Signing vəziyyətinin tam sıfırlanmasıdır. Komanda yalnız kritik konfliktlərdə və ya yeni Apple Developer hesabına keçid zamanı tətbiq edilir.

Match-in CI/CD pipeline-na inteqrasiyası

CI/CD inteqrasiyası Match alətinin əsas üstünlüklərindən biridir. GitHub Actions, GitLab CI, Bitrise və ya Jenkins pipeline-larında Match tərtibatçının iştirakı olmadan avtomatik olaraq düzgün sertifikatları yükləyir və quraşdırır. Bu, commit-dən hazır IPA-ya qədər iOS tətbiqinin tam avtomatlaşdırılmış qurulmasını və imzalanmasını həyata keçirməyə imkan verir.

GitHub Actions üçün tipik konfiqurasiya Fastlane quraşdırılmasını, MATCH_PASSWORD dəyişəninin təyin edilməsini və Match-in --readonly bayrağı ilə işə salınmasını əhatə edir. GitHub Actions — GitHub-dan CI/CD platformasıdır ki, repozitoriyadakı hadisələr əsasında kodun qurulmasını, test edilməsini və dərc edilməsini avtomatlaşdırır.

bash
# Fastlane-in CI mühitində quraşdırılması
gem install fastlane --no-document

# Match-in dəyişiklik hüququ olmadan read-only rejimində işə salınması
fastlane match development --readonly

Match-i CI-da işə salmazdan əvvəl sertifikat anbarına girişi konfiqurasiya etmək lazımdır. Fastlane onu Matchfile-dakı git_url parametri əsasında avtomatik klonlayır. Anbara giriş SSH açarı və ya personal access token vasitəsilə konfiqurasiya edilir ki, bunlar CI sisteminin sirlərinə əlavə olunur — bu, sertifikatların açıq giriş vasitəsilə kompromitasiya olunmayacağını təmin edir.

MATCH_PASSWORDFASTLANE_APPLE_API_KEY mühit dəyişənlərini CI provayderinizin sirlərində konfiqurasiya edin. App Store Connect API açarı Match-ə iki faktorlu autentifikasiya olmadan Apple Developer Portal-da autentifikasiya etməyə imkan verir ki, bu da avtomatik qurmalarda interaktiv sorğuları aradan qaldırır və pipeline bloklanmasının qarşısını alır.

Match ilə işləyərkən tipik səhvlər

Match-in düzgün konfiqurasiyası ilə belə, sertifikatların müddətinin bitməsi, profil konfliktləri və ya səhv mühit konfiqurasiyası ilə bağlı səhvlər yarana bilər. Problemlərin diaqnostikası komanda loglarının təhlili və sertifikat Git anbarının aktual vəziyyətinin yoxlanması üzərində qurulur.

Ən geniş yayılmış səhv — “You need to provide a password for Match” — MATCH_PASSWORD mühit dəyişəni maşında və ya CI mühitində təyin edilmədikdə baş verir. Həll: MATCH_PASSWORD-u sistem mühit dəyişənlərinə əlavə edin və ya Match komandasını işə salarkən parolu --keychain_password parametri vasitısilə ötürün.

Tezlik baxımından ikinci problem — AdHoc profilinə yeni cihaz əlavə edərkən sertifikat konflikti. Bu, fastlane match adhoc --force komandası ilə həll edilir ki, yeni cihazları nəzərə alaraq profilləri yenidən yaradır. Apple Developer sertifikatları bir il müddətinə etibarlıdır, bundan sonra onların istifadəsi ilə qurma App Store Connect tərəfindən rədd edilir. Match müddətin bitməsinə 30 gün qalmış xəbərdarlıq edir.

Multiple matches found for...” səhvi zamanı anbarda eyni sertifikatın bir neçə versiyası var. Anbarı tam təmizləmək və Apple Developer Portal-dan bütün sertifikatları silmək üçün fastlane match nuke komandasından istifadə edin. Təmizlənmədən sonra generasiyanı yenidən həyata keçirin — bu, dublikatlar və konflikt edən versiyalar olmadan profillərin ardıcıl vəziyyətini təmin edəcək.

Tez-tez verilən suallar

Match Git anbarında sertifikatları necə şifrələyir?

Match Git-də saxlamazdan əvvəl hər bir sertifikat faylını şifrələmək üçün OpenSSL AES-256-CBC alqoritmindən istifadə edir. Şifrələmə açarı MATCH_PASSWORD şifrəsi əsasında formalaşdırılır. Anbara ictimai çıxış olsa belə, sertifikatlar şifrəni bilmədən əlçatmaz olaraq qalır.

Match Git anbarı olmadan istifadə edilə bilərmi?

Xeyr, Match şifrələnmiş sertifikatları saxlamaq üçün Git anbarı tələb edir. Lakin maşınlar arasında sinxronizasiya tələb olunmursa, anbar lokal ola bilər. Bu halda git_url parametrində uzaq anbarın URL-i əvəzinə fayl sistemindəki qovluğa lokal yol göstərilir.

Komandada sertifikat versiyaları konfliktində nə etməli?

Konfliktlər iki tərtibatçı eyni anda fərqli sertifikatlar yaratdıqda baş verir. Həll — anbarda və Apple Developer Portal-da bütün sertifikatları tam təmizləmək üçün fastlane match nuke komandasından istifadə edin. Təmizlənmədən sonra bir tərtibatçı yenidən generasiya aparır və Git vasitəsilə sinxronlaşdırır.

Match-də sertifikatların müddəti bitdikdən sonra necə yeniləmək olar?

Match işə salınmada müddəti bitmiş sertifikatları avtomatik aşkarlayır və onların dəyişdirilməsini təklif edir. Məcburi yeniləmə üçün fastlane match [type] --force yerinə yetirin — komanda mövcud sertifikatlar hələ etibarlı olsa belə, göstərilən növün sertifikatlarını və profillərini yenidən yaradır ki, bu da tərtibatçı komandası dəyişərkən faydalıdır.

Match Xcode-da əl ilə sertifikat idarəetməsindən nə ilə fərqlənir?

Əl ilə idarəetmə hər bir maşın üçün Xcode və ya Developer Portal vasitəsilə ayrıca sertifikat generasiyası tələb edir. Match saxlama mərkəzləşdirir, məlumatları şifrələyir, tərtibatçılar və CI/CD arasında sinxronlaşdırır, həmçinin insan iştirakı olmadan bütün imzaların etibarlılığını və müddətlərini avtomatik yoxlayır.

Nəticə

  • Match — şifrələnmiş Git anbarı vasitəsilə iOS Code Signing sertifikatlarını vahid həqiqət mənbəyi kimi idarə etmək üçün Fastlane aləti.
  • AES-256 və OpenSSL-ə əsaslanan şifrələmə sertifikatları anbara ictimai çıxış zamanı belə qoruyur, şifrə isə MATCH_PASSWORD dəyişəni vasitəsilə təyin edilir.
  • Match dörd profil növünü dəstəkləyir: development, appstore, adhoc və enterprise — hər biri öz məqsədli tətbiq yayma ssenarisi üçün.
  • Konfiqurasiya Matchfile faylı vasitəsilə aparılır, burada git_url, profil növü, tətbiq identifikatorları və Apple Developer giriş məlumatları göstərilir.
  • --readonly bayrağı ilə CI/CD inteqrasiyası anbarı dəyişdirmə riski və konfliktlər olmadan pipeline-larda avtomatik sertifikat əldə etməyə imkan verir.
  • Problemlər zamanı anbarı tam təmizləmək üçün nuke komandası və ya sertifikatların və profillərin məcburi yenilənməsi üçün --force istifadə olunur.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun