Mobil inkişafda CI/CD və avtomatlaşdırma: bu nədir, necə işləyir və nə üçün lazımdır

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

CI/CD (Continuous Integration / Continuous Delivery) hər kod dəyişikliyində tətbiqin avtomatik yaradılması, sınaqdan keçirilməsi və çatdırılması təcrübəsidir. Statista (2025) məlumatına görə, mobil inkişaf komandalarının 80%-i öz işlərində CI/CD istifadə edir. Bu məqalə məşhur CI alətlərini, mobil yaradılma avtomatlaşdırması üçün Fastlane-i, həmçinin Canary Release və Feature Flags-i əhatə edir.

Əsas Nəticələr

  • CI (Continuous Integration) — anbara hər push-da avtomatik yaradılma və test.
  • CD (Continuous Delivery) — yaradılmış tətbiqin mağazalara və ya staging-ə avtomatik çatdırılması.
  • GitHub Actions, GitLab CI, Bitrise və CircleCI məşhur mobil CI/CD platformalarıdır.
  • Fastlane — xüsusi mobil tapşırıqlar üçün avtomatlaşdırma aləti: kod imzalama, ekran görüntüləri, nəşr.
  • Feature Flags və Canary Release istifadəçilərin bir alt qrupuna yeni xüsusiyyətləri təhlükəsiz şəkildə yaymağa imkan verir.

CI/CD nədir?

Continuous Integration

Continuous Integration mobil tətbiqlər üçün CI/CD avtomatlaşdırmasının əsasıdır. Hər bir tərtibatçının gündə bir neçə dəfə kodunu paylaşılan anbara birləşdirdiyi təcrübədir. Hər push-dan sonra CI serveri avtomatik olaraq layihəni yaradır və testləri işə salır. Testlər uğursuz olarsa, yaradılma pozulmuş sayılır və komanda dərhal problemi həll edir. CI «mənim maşınımda işləyir» vəziyyətinin qarşısını alır, burada bir tərtibatçının kodu digərinin kodunu pozur.

Build Pipeline — hər push-da yerinə yetirilən addımlar ardıcıllığı: kod linting → vahid testlər → debug APK/IPA yaradılması → inteqrasiya testləri → release yaradılması. Hər addım yalnız əvvəlki addım uğurlu olduqdan sonra işə düşür. Yaradılma sənətləri — APK, IPA, AAB, test hesabatları — saxlanılır və yükləmək üçün əlçatandır.

Continuous Delivery vs Continuous Deployment

Continuous Delivery — kod avtomatik yaradılır və sınaqdan keçirilir, lakin istehsalata buraxma qərarını insan verir. Continuous Deployment — hər uğurlu yaradılma avtomatik olaraq istehsalata buraxılır. Mobil tətbiqlər üçün, TestFlight və ya Internal Testing vasitəsilə CD (mağazalara çatdırılma) daha geniş yayılmışdır, çünki nəşr haqqında qərarı tərtibatçı və ya menecer verir. Staging — istehsalata mümkün qədər yaxın mühit, buraxılışdan əvvəl yaradılmanı sınamaq üçün istifadə olunur.

GitHub Actions və GitLab CI

GitHub Actions

GitHub Actions GitHub-da mobil tətbiqləri avtomatlaşdırmaq üçün daxili CI/CD sistemidir. Actions boru xətlərini təsvir etmək üçün YAML konfiqurasiyasından (.github/workflows) istifadə edir. Mobil inkişaf üçün hazır actions mövcuddur: actions/setup-java, Android üçün gradle-build-action, iOS üçün xcodebuild-action. GitHub Actions şəxsi anbarlar üçün ayda 2000 pulsuz dəqiqə təmin edir.

Nümunə: Android workflow-u kod yoxlanışı, JDK 17 quraşdırılması, Gradle asılılıqlarının keşlənməsi, lint və vahid testlərin işə salınması, APK yaradılması və sənət yüklənməsini əhatə edir. iOS üçün — yoxlanış, Xcode quraşdırılması, pod install, XCTest işə salınması, arxivləşdirmə və IPA ixracı. GitHub Actions bildirişlər üçün GitHub Releases, Slack və Telegram ilə inteqrasiya olunur.

GitLab CI

GitLab CI .gitlab-ci.yml vasitəsilə konfiqurasiya edilən GitLab-də daxili CI/CD sistemidir. GitLab CI runner-lardan — tapşırıqları yerinə yetirən agentlərdən istifadə edir. Mobil inkişaf üçün paylaşılan runner-lardan (Android üçün Linux) və ya öz runner-larınızdan (iOS üçün macOS) istifadə edə bilərsiniz. GitLab CI paralel tapşırıqları, sənətləri, mühitləri və istehsal buraxılışları üçün əl ilə təsdiqi dəstəkləyir.

Mobil tətbiqlər üçün Bitrise

Niyə Bitrise?

Bitrise mobil tətbiq avtomatlaşdırmasında ixtisaslaşmış CI/CD platformasıdır. Bitrise Android, iOS, Flutter və React Native üçün hazır Steps təklif edir: Gradle Runner, Xcode Archive, Flutter Test, CocoaPods Install. Bitrise iOS üçün kod imzalamanı avtomatik konfiqurasiya edir (Codesigndoc vasitəsilə) və Xcode, Android SDK, Flutter və digər alətlər öncədən quraşdırılmış virtual maşınlar təmin edir.

Bitrise üstünlükləri: vizual Workflow redaktoru vasitəsilə asan quraşdırma, paralel yaradılma dəstəyi, Firebase Test Lab, App Store Connect və Google Play Console ilə inteqrasiya. Bitrise şəxsi layihələr üçün ayda 90 pulsuz dəqiqə təmin edir. IT Sectr-də biz bütün mobil layihələr üçün Bitrise istifadə edirik — bu, əl ilə GitHub Actions quraşdırması ilə müqayisədə CI/CD-ni əhəmiyyətli dərəcədə sadələşdirir.

Mobil inkişaf üçün CI/CD alətlərinin müqayisəsi
Meyar GitHub Actions GitLab CI Bitrise CircleCI
İxtisaslaşma Ümumi Ümumi Mobil Ümumi
iOS üçün macOS Bəli (macOS runner) Öz runner Bəli (daxili) Bəli (macOS)
Pulsuz limit 2000 dəq/ay 400 dəq/ay 90 dəq/ay 6000 dəq/ay
Fastlane inteqrasiyası run script vasitəsilə run script vasitəsilə Hazır Step run script vasitəsilə
Kod imzalama Əl ilə quraşdırma Əl ilə quraşdırma Avtomatik Fastlane vasitəsilə
Paralel yaradılma Bəli Bəli Bəli Bəli

Fastlane: mobil yaradılma avtomatlaşdırması

Fastlane nədir?

Fastlane Ruby dilində yazılmış iOS və Android üçün mobil tətbiq avtomatlaşdırma alətidir. Fastlane hazır actions (200+) sistemi və Fastfile vasitəsilə ssenariləri təsvir etmək üçün DSL-dən ibarətdir. Fastlane hər mobil tərtibatçının əl ilə etdiyi tapşırıqları həll edir: kod imzalama, ekran görüntülərinin yaradılması, TestFlight və Google Play-ə yükləmə, sertifikatların və təminat profillərinin idarə edilməsi.

Fastlane-in əsas komponentləri

Lane — Fastfile-da adlandırılmış ssenari. Nümunə: lane :release do — buraxılış üçün hərəkətlər zənciri. Match — şifrələnmiş Git anbarı vasitəsilə sertifikatları və təminat profillərini təhlükəsiz saxlama və sinxronizasiya aləti. Gym — iOS tətbiqinin yaradılması və arxivləşdirilməsi (xcodebuild üzərində sarğı). Pilot — TestFlight-da yaradılmaların yüklənməsi və idarə edilməsi. Deliver — App Store Connect-ə tətbiq və metadata yükləmə. Snapshot — bütün dillərdə avtomatik ekran görüntüsü yaradılması. Screengrab — Android üçün avtomatik ekran görüntüsü yaradılması.

Android üçün Fastfile nümunəsi: lane :beta gradle (assembleRelease) çağırır, sonra test edənlərə paylamaq üçün firebase_app_distribution çağırır. iOS üçün: lane :beta match (sertifikat endirmə), gym (arxivləşdirmə) və pilot (TestFlight-a yükləmə) çağırır. Fastlane lokal olaraq və CI serverində işləyə bilər — bu onu istənilən mobil layihədə universal alətə çevirir.

Canary Release və Feature Flags

Canary Release

Canary Release tam buraxılışdan əvvəl tətbiqin yeni versiyasını istifadəçilərin kiçik bir faizinə (%1-5) yaymaq üçün CI/CD avtomatlaşdırma strategiyasıdır. Google Play Console-da bu Staged Rollout vasitəsilə həyata keçirilir: siz 5% auditoriyanıza yeniləmə buraxırsınız, qəzaları və metrikaları izləyirsiniz və problem yoxdursa faizi artırırsınız. App Store Connect-də — Phased Release for Automatic Updates vasitəsilə.

A/B Testing — təsadüfi istifadəçi qruplarında bir xüsusiyyətin iki versiyasının müqayisəsi. Mobil inkişafda A/B testləri Feature Flags, Firebase Remote Config və ya server tərəfi məntiqi vasitəsilə aparılır. Canary Release və A/B testləri yeni xüsusiyyətlər yayarkən riskləri minimuma endirir.

Feature Flags

Feature Flag (Feature Toggle) — yeni kod yerləşdirmədən funksionallığın şərti aktivləşdirilməsi. Feature Flag kodda yoxlamadır: if (featureFlag.isEnabled()) { /* yeni kod */ } else { /* köhnə kod */ }. Bayraqlar xidmətlər vasitəsilə idarə olunur: LaunchDarkly, Split.io, Firebase Remote Config. Feature Flags tərtibatçılara xüsusiyyət hələ istifadəçilərə hazır olmasa belə kodu main-ə birləşdirməyə imkan verir.

LaunchDarkly — ən məşhur Feature Flags idarəetmə platforması. LaunchDarkly iOS, Android, Flutter və React Native üçün SDK təmin edir. Siz xüsusiyyətləri müəyyən istifadəçilər, seqmentlər, bölgələr və ya auditoriyanın faizi üçün aktivləşdirə bilərsiniz. Feature Flags həmçinin kill switch kimi istifadə olunur — tətbiqin yeni versiyasını buraxmadan problemli xüsusiyyəti dərhal söndürmək.

Tez-tez verilən suallar

Yeni başlayan hansı CI/CD sistemi ilə başlamalıdır?

Kodunuz GitHub-dadırsa GitHub Actions ilə başlayın. Actions ictimai anbarlar üçün pulsuzdur, Android və iOS (macOS runner) üçün daxili dəstəyə və hazır actions-ların böyük ekosisteminə malikdir. Mobil ixtisaslaşma üçün — Bitrise.

iOS CI/CD üçün öz Mac-ım lazımdırmı?

Xeyr, CI xidmətləri (GitHub Actions, Bitrise, CircleCI) macOS runner təmin edir. İstifadə dəqiqələrinə görə ödəyirsiniz. Yerli Fastlane debug üçün Mac lazımdır, lakin CI buludda işləyə bilər.

Canary Release A/B testindən nə ilə fərqlənir?

Canary Release — sabitliyi yoxlamaq üçün istifadəçilərin alt qrupuna yeni versiya yaymaq. A/B testi — daha yaxşısını seçmək üçün bir xüsusiyyətin iki variantını müqayisə etmək. Canary etibarlılıqla, A/B konversiya ilə bağlıdır.

Fastlane məcburidirmi?

Fastlane məcburi deyil, lakin çox tövsiyə olunur. Fastlane olmadan əl ilə xcodebuild işə salmalı, sertifikatları idarə etməli və veb interfeys vasitəsilə yaradılmaları yükləməli olacaqsınız. Fastlane bütün bu tapşırıqları tək bir əmrlə avtomatlaşdırır.

Fastlane-də Match nədir?

Match iOS Code Signing sertifikatlarını idarə etmək üçün Fastlane alətidir. Match sertifikatları və təminat profillərini şifrələnmiş Git anbarında saxlayır və onları bütün tərtibatçılar və CI serveri arasında sinxronizasiya edir.

Xülasə

  • CI/CD — tətbiqin avtomatik yaradılması, sınaqdan keçirilməsi və çatdırılması. Hər komanda üçün vacib standart.
  • GitHub Actions — GitHub layihələri üçün ümumi CI/CD; Bitrise — mobil üçün ixtisaslaşmış.
  • Fastlane — mobil yaradılma avtomatlaşdırması aləti: kod imzalama, ekran görüntüləri, nəşr.
  • Build Pipeline — addım ardıcıllığı: linting → vahid testlər → yaradılma → UI testləri → buraxılış.
  • Canary Release — 1–5% istifadəçiyə yayma; Feature Flags — yerləşdirmədən xüsusiyyətləri aktivləşdirmə.
  • Feature Flags — LaunchDarkly / Firebase Remote Config vasitəsilə iş vaxtı funksionallıq idarəsi.
  • CI/CD avtomatlaşdırması buraxılış vaxtını həftələrdən saatlara endirir və insan səhvlərini minimuma endirir.

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