CI/CD i automatizacija u mobilnom razvoju: šta je to, kako radi i zašto je potrebno

Аутор: IT Sectr Објављено: 2026-04-04 Време читања: 9 мин

CI/CD (Continuous Integration / Continuous Delivery) je praksa automatske izgradnje, testiranja i isporuke aplikacije pri svakoj promeni koda. Prema Statista (2025), 80% timova za mobilni razvoj koristi CI/CD u svom radu. Ovaj članak pokriva popularne CI alate, Fastlane za automatizaciju mobilnih izgradnji, kao i Canary Release i Feature Flags.

Ključne tačke

  • CI (Continuous Integration) — automatska izgradnja i testovi pri svakom push-u u repozitorijum.
  • CD (Continuous Delivery) — automatska isporuka izgrađene aplikacije u prodavnice ili na staging.
  • GitHub Actions, GitLab CI, Bitrise i CircleCI su popularne mobilne CI/CD platforme.
  • Fastlane — alat za automatizaciju specifičnih mobilnih zadataka: potpisivanje koda, snimci ekrana, objavljivanje.
  • Feature Flags i Canary Release omogućavaju bezbedno uvođenje novih funkcija na podskup korisnika.

Šta je CI/CD?

Continuous Integration

Continuous Integration je osnova CI/CD automatizacije za mobilne aplikacije. To je praksa gde svaki programer spaja svoj kod u zajednički repozitorijum nekoliko puta dnevno. Nakon svakog push-a, CI server automatski gradi projekat i pokreće testove. Ako testovi padnu, izgradnja se smatra polomljenom i tim odmah rešava problem. CI sprečava situaciju «radi na mojoj mašini» gde kod jednog programera lomi kod drugog.

Build Pipeline — niz koraka koji se izvršavaju pri svakom push-u: linting koda → jedinični testovi → debug APK/IPA izgradnja → integracioni testovi → release izgradnja. Svaki korak se pokreće samo nakon uspešnog prethodnog. Artefakti izgradnje — APK, IPA, AAB, izveštaji o testiranju — se čuvaju i dostupni su za preuzimanje.

Continuous Delivery vs Continuous Deployment

Continuous Delivery — kod se automatski gradi i testira, ali odluku o objavljivanju u produkciju donosi čovek. Continuous Deployment — svaka uspešna izgradnja se automatski objavljuje u produkciju. Za mobilne aplikacije, CD (isporuka u prodavnice) putem TestFlight ili Internal Testing je češći, jer konačnu odluku o objavljivanju donosi programer ili menadžer. Staging — okruženje što bliže produkciji, koje se koristi za testiranje izgradnje pre objavljivanja.

GitHub Actions i GitLab CI

GitHub Actions

GitHub Actions je ugrađeni CI/CD sistem za automatizaciju mobilnih aplikacija na GitHub-u. Actions koristi YAML konfiguraciju (.github/workflows) za opis pipeline-ova. Gotove akcije su dostupne za mobilni razvoj: actions/setup-java, gradle-build-action za Android, xcodebuild-action za iOS. GitHub Actions obezbeđuje 2000 besplatnih minuta mesečno za privatne repozitorijume.

Primer: Android workflow uključuje checkout koda, podešavanje JDK 17, keširanje Gradle zavisnosti, pokretanje lint i jediničnih testova, APK izgradnju i otpremanje artefakata. Za iOS — checkout, podešavanje Xcode, pod install, pokretanje XCTest, arhiviranje i IPA izvoz. GitHub Actions se integriše sa GitHub Releases, Slack i Telegram za obaveštenja.

GitLab CI

GitLab CI je ugrađeni CI/CD sistem u GitLab-u, konfigurisan kroz .gitlab-ci.yml. GitLab CI koristi runner-e — agente koji izvršavaju zadatke. Za mobilni razvoj možete koristiti deljene runner-e (Linux za Android) ili sopstvene runner-e (macOS za iOS). GitLab CI podržava paralelne poslove, artefakte, okruženja i ručno odobravanje za produkcijska izdanja.

Bitrise za mobilne aplikacije

Zašto Bitrise?

Bitrise je CI/CD platforma specijalizovana za automatizaciju mobilnih aplikacija. Bitrise nudi gotove Steps za Android, iOS, Flutter i React Native: Gradle Runner, Xcode Archive, Flutter Test, CocoaPods Install. Bitrise automatski konfiguriše potpisivanje koda za iOS (putem Codesigndoc) i obezbeđuje virtuelne mašine sa unapred instaliranim Xcode, Android SDK, Flutter i drugim alatima.

Prednosti Bitrise: jednostavno podešavanje kroz vizuelni Workflow editor, podrška za paralelne izgradnje, integracija sa Firebase Test Lab, App Store Connect i Google Play Console. Bitrise nudi 90 besplatnih minuta mesečno za lične projekte. U IT Sectr koristimo Bitrise za sve mobilne projekte — značajno pojednostavljuje CI/CD u poređenju sa ručnim podešavanjem GitHub Actions.

Poređenje CI/CD alata za mobilni razvoj
Kriterijum GitHub Actions GitLab CI Bitrise CircleCI
Specijalizacija Opšta Opšta Mobilna Opšta
macOS za iOS Da (macOS runner) Sopstveni runner Da (ugrađeno) Da (macOS)
Besplatni limit 2000 min/mes 400 min/mes 90 min/mes 6000 min/mes
Fastlane integracija Preko run script Preko run script Gotov Step Preko run script
Code Signing Ručno podešavanje Ručno podešavanje Automatsko Preko Fastlane
Paralelne izgradnje Da Da Da Da

Fastlane: automatizacija mobilnih izgradnji

Šta je Fastlane?

Fastlane je alat za automatizaciju mobilnih aplikacija za iOS i Android, napisan u Ruby-ju. Fastlane se sastoji od sistema gotovih akcija (preko 200) i DSL-a za opisivanje scenarija kroz Fastfile. Fastlane rešava zadatke koje svaki mobilni programer obavlja ručno: potpisivanje koda, kreiranje snimaka ekrana, otpremanje u TestFlight i Google Play, upravljanje sertifikatima i provisioning profilima.

Ključne komponente Fastlane

Lane — imenovani scenario u Fastfile-u. Primer: lane :release do — lanac akcija za objavljivanje izdanja. Match — alat za bezbedno skladištenje i sinhronizaciju sertifikata i provisioning profila kroz šifrovani Git repozitorijum. Gym — izgradnja i arhiviranje iOS aplikacija (omotač oko xcodebuild). Pilot — otpremanje i upravljanje izgradnjama u TestFlight-u. Deliver — otpremanje aplikacije i metapodataka u App Store Connect. Snapshot — automatsko kreiranje snimaka ekrana na svim jezicima. Screengrab — automatsko kreiranje snimaka ekrana za Android.

Primer Fastfile za Android: lane :beta poziva gradle (assembleRelease), zatim firebase_app_distribution za distribuciju testerima. Za iOS: lane :beta poziva match (preuzimanje sertifikata), gym (arhiviranje) i pilot (otpremanje u TestFlight). Fastlane se može pokretati lokalno i na CI serveru — što ga čini univerzalnim alatom u svakom mobilnom projektu.

Canary Release i Feature Flags

Canary Release

Canary Release je strategija CI/CD automatizacije za uvođenje nove verzije aplikacije na mali procenat korisnika (1–5%) pre potpunog objavljivanja. U Google Play Console ovo se implementira kroz Staged Rollout: objavljujete ažuriranje za 5% publike, pratite kraševe i metrike i povećavate procenat ako nema problema. U App Store Connect — kroz Phased Release for Automatic Updates.

A/B Testing — poređenje dve verzije jedne funkcije na nasumičnim grupama korisnika. U mobilnom razvoju, A/B testovi se sprovode kroz Feature Flags, Firebase Remote Config ili serversku logiku. Canary Release i A/B testovi minimiziraju rizike prilikom uvođenja novih funkcija.

Feature Flags

Feature Flag (Feature Toggle) — uslovno uključivanje funkcionalnosti bez implementacije novog koda. Feature Flag je provera u kodu: if (featureFlag.isEnabled()) { /* novi kod */ } else { /* stari kod */ }. Zastavice se upravljaju kroz servise: LaunchDarkly, Split.io, Firebase Remote Config. Feature Flags omogućavaju programerima da spoje kod u main čak i ako funkcija još nije spremna za korisnike.

LaunchDarkly — najpopularnija platforma za upravljanje Feature Flags. LaunchDarkly obezbeđuje SDK za iOS, Android, Flutter i React Native. Možete uključiti funkcije za određene korisnike, segmente, regione ili procenat publike. Feature Flags se takođe koriste kao kill switch — trenutno isključivanje problematične funkcije bez objavljivanja nove verzije aplikacije.

Često postavljana pitanja

Sa kojim CI/CD sistemom početnik treba da počne?

Počnite sa GitHub Actions — ako je vaš kod na GitHub-u. Actions je besplatan za javne repozitorijume, ima ugrađenu podršku za Android i iOS (macOS runner) i ogroman ekosistem gotovih akcija. Za mobilnu specijalizaciju — Bitrise.

Da li mi treba sopstveni Mac za iOS CI/CD?

Ne, CI servisi (GitHub Actions, Bitrise, CircleCI) obezbeđuju macOS runner. Plaćate po minutima korišćenja. Za lokalno otklanjanje grešaka u Fastlane-u potreban je Mac, ali CI može raditi u oblaku.

Po čemu se Canary Release razlikuje od A/B testa?

Canary Release — uvođenje nove verzije na podskup korisnika radi provere stabilnosti. A/B test — poređenje dve varijante jedne funkcije radi izbora bolje. Canary je o pouzdanosti, A/B je o konverziji.

Da li je Fastlane obavezan?

Fastlane nije obavezan, ali se izuzetno preporučuje. Bez Fastlane-a morali biste ručno pokretati xcodebuild, upravljati sertifikatima i otpremati izgradnje putem web interfejsa. Fastlane automatizuje sve ove zadatke jednom komandom.

Šta je Match u Fastlane-u?

Match je Fastlane alat za upravljanje iOS Code Signing sertifikatima. Match čuva sertifikate i provisioning profile u šifrovanom Git repozitorijumu i sinhronizuje ih između svih programera i CI servera.

Sažetak

  • CI/CD — automatska izgradnja, testiranje i isporuka aplikacije. Neophodan standard za svaki tim.
  • GitHub Actions — opšti CI/CD za GitHub projekte; Bitrise — specijalizovan za mobilne.
  • Fastlane — alat za automatizaciju mobilnih izgradnji: potpisivanje koda, snimci ekrana, objavljivanje.
  • Build Pipeline — niz koraka: linting → jedinični testovi → izgradnja → UI testovi → objavljivanje.
  • Canary Release — uvođenje na 1–5% korisnika; Feature Flags — uključivanje funkcija bez implementacije.
  • Feature Flags — upravljanje funkcionalnošću u izvršavanju kroz LaunchDarkly / Firebase Remote Config.
  • CI/CD automatizacija smanjuje vreme objavljivanja sa nedelja na sate i minimizira ljudske greške.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту