CI/CD e automazione nello sviluppo mobile: cos'è, come funziona e perché serve

Autore: IT Sectr Pubblicato: 2026-04-04 Tempo di lettura: 9 min

CI/CD (Continuous Integration / Continuous Delivery) è la pratica di creare, testare e distribuire automaticamente un'applicazione a ogni modifica del codice. Secondo Statista (2025), l'80% dei team di sviluppo mobile utilizza CI/CD. Questo articolo copre gli strumenti CI più popolari, Fastlane per l'automazione delle build mobili, oltre a Canary Release e Feature Flags.

Punti chiave

  • CI (Continuous Integration) — build e test automatici a ogni push nel repository.
  • CD (Continuous Delivery) — distribuzione automatica dell'app buildata negli store o in staging.
  • GitHub Actions, GitLab CI, Bitrise e CircleCI sono piattaforme CI/CD mobili popolari.
  • Fastlane — strumento di automazione per attività mobili specifiche: firma del codice, screenshot, pubblicazione.
  • Feature Flags e Canary Release consentono di distribuire in sicurezza nuove funzionalità a un sottoinsieme di utenti.

Cos'è CI/CD?

Continuous Integration

Continuous Integration è il fondamento dell'automazione CI/CD per le app mobili. È una pratica in cui ogni sviluppatore unisce il proprio codice in un repository condiviso più volte al giorno. Dopo ogni push, il server CI crea automaticamente il progetto ed esegue i test. Se i test falliscono, la build è considerata rotta e il team risolve il problema immediatamente. La CI previene la situazione «funziona sulla mia macchina» in cui il codice di uno sviluppatore rompe quello di un altro.

Build Pipeline — una sequenza di passaggi eseguiti a ogni push: linting del codice → test unitari → build debug APK/IPA → test di integrazione → build release. Ogni passaggio viene eseguito solo dopo il successo del precedente. Gli artefatti di build — APK, IPA, AAB, rapporti di test — vengono salvati e sono disponibili per il download.

Continuous Delivery vs Continuous Deployment

Continuous Delivery — il codice viene buildato e testato automaticamente, ma una persona decide se rilasciare in produzione. Continuous Deployment — ogni build riuscita viene automaticamente rilasciata in produzione. Per le app mobili, il CD (consegna agli store) tramite TestFlight o Internal Testing è più comune, poiché la decisione finale di pubblicazione è presa dallo sviluppatore o dal manager. Staging — ambiente il più vicino possibile alla produzione, utilizzato per testare la build prima del rilascio.

GitHub Actions e GitLab CI

GitHub Actions

GitHub Actions è un sistema CI/CD integrato per automatizzare le app mobili su GitHub. Actions utilizza la configurazione YAML (.github/workflows) per definire le pipeline. Azioni pronte sono disponibili per lo sviluppo mobile: actions/setup-java, gradle-build-action per Android, xcodebuild-action per iOS. GitHub Actions fornisce 2000 minuti gratuiti al mese per i repository privati.

Esempio: un workflow Android include checkout del codice, impostazione JDK 17, caching delle dipendenze Gradle, esecuzione di lint e test unitari, build APK e upload degli artefatti. Per iOS — checkout, impostazione Xcode, pod install, esecuzione XCTest, archiviazione ed export IPA. GitHub Actions si integra con GitHub Releases, Slack e Telegram per le notifiche.

GitLab CI

GitLab CI è un sistema CI/CD integrato in GitLab, configurato tramite .gitlab-ci.yml. GitLab CI utilizza runner — agenti che eseguono i job. Per lo sviluppo mobile puoi usare runner condivisi (Linux per Android) o runner propri (macOS per iOS). GitLab CI supporta job paralleli, artefatti, ambienti e approvazione manuale per i rilasci in produzione.

Bitrise per app mobili

Perché Bitrise?

Bitrise è una piattaforma CI/CD specializzata nell'automazione di app mobili. Bitrise offre Step pronti per Android, iOS, Flutter e React Native: Gradle Runner, Xcode Archive, Flutter Test, CocoaPods Install. Bitrise configura automaticamente la firma del codice per iOS (tramite Codesigndoc) e fornisce macchine virtuali con Xcode, Android SDK, Flutter e altri strumenti preinstallati.

Vantaggi di Bitrise: configurazione semplice tramite l'editor visuale di Workflow, supporto per build parallele, integrazione con Firebase Test Lab, App Store Connect e Google Play Console. Bitrise offre 90 minuti gratuiti al mese per progetti personali. In IT Sectr usiamo Bitrise per tutti i progetti mobili — semplifica notevolmente il CI/CD rispetto alla configurazione manuale di GitHub Actions.

Confronto degli strumenti CI/CD per lo sviluppo mobile
Criterio GitHub Actions GitLab CI Bitrise CircleCI
Specializzazione Generale Generale Mobile Generale
macOS per iOS Sì (macOS runner) Runner proprio Sì (integrato) Sì (macOS)
Limite gratuito 2000 min/mese 400 min/mese 90 min/mese 6000 min/mese
Integrazione Fastlane Tramite run script Tramite run script Step pronto Tramite run script
Code Signing Configurazione manuale Configurazione manuale Automatica Tramite Fastlane
Build parallele

Fastlane: automazione build mobili

Cos'è Fastlane?

Fastlane è uno strumento di automazione per app mobili iOS e Android, scritto in Ruby. Fastlane è composto da un sistema di azioni pronte (oltre 200) e un DSL per descrivere scenari tramite Fastfile. Fastlane risolve le attività che ogni sviluppatore mobile esegue manualmente: firma del codice, generazione di screenshot, caricamento su TestFlight e Google Play, gestione di certificati e profili di provisioning.

Componenti chiave di Fastlane

Lane — uno scenario nominato in Fastfile. Esempio: lane :release do — una catena di azioni per pubblicare un rilascio. Match — uno strumento per archiviare e sincronizzare in modo sicuro certificati e profili di provisioning tramite un repository Git crittografato. Gym — build e archiviazione di app iOS (un wrapper su xcodebuild). Pilot — caricamento e gestione delle build in TestFlight. Deliver — caricamento dell'app e dei metadati su App Store Connect. Snapshot — generazione automatica di screenshot in tutte le lingue. Screengrab — generazione automatica di screenshot per Android.

Esempio di Fastfile per Android: lane :beta chiama gradle (assembleRelease), poi firebase_app_distribution per la distribuzione ai tester. Per iOS: lane :beta chiama match (download certificati), gym (archiviazione) e pilot (caricamento su TestFlight). Fastlane può essere eseguito localmente e su un server CI — rendendolo uno strumento universale in qualsiasi progetto mobile.

Canary Release e Feature Flags

Canary Release

Canary Release è una strategia di automazione CI/CD per distribuire una nuova versione dell'app a una piccola percentuale di utenti (1–5%) prima del rilascio completo. In Google Play Console è implementato tramite Staged Rollout: pubblichi un aggiornamento al 5% del tuo pubblico, monitori crash e metriche e aumenti la percentuale se non ci sono problemi. In App Store Connect — tramite Phased Release for Automatic Updates.

A/B Testing — confronto di due versioni di una funzionalità su gruppi casuali di utenti. Nello sviluppo mobile, i test A/B vengono condotti tramite Feature Flags, Firebase Remote Config o logica lato server. Canary Release e test A/B minimizzano i rischi durante il rilascio di nuove funzionalità.

Feature Flags

Feature Flag (Feature Toggle) — attivazione condizionale di funzionalità senza distribuire nuovo codice. Un Feature Flag è un controllo nel codice: if (featureFlag.isEnabled()) { /* nuovo codice */ } else { /* vecchio codice */ }. I flag sono gestiti tramite servizi: LaunchDarkly, Split.io, Firebase Remote Config. I Feature Flags consentono agli sviluppatori di unire il codice in main anche se la funzionalità non è ancora pronta per gli utenti.

LaunchDarkly — la piattaforma di gestione Feature Flags più popolare. LaunchDarkly fornisce SDK per iOS, Android, Flutter e React Native. Puoi attivare funzionalità per utenti specifici, segmenti, regioni o una percentuale del pubblico. I Feature Flags sono usati anche come kill switch — disattivazione immediata di una funzionalità problematica senza pubblicare una nuova versione dell'app.

Domande frequenti

Con quale sistema CI/CD dovrebbe iniziare un principiante?

Inizia con GitHub Actions — se il tuo codice è su GitHub. Actions è gratuito per repository pubblici, ha supporto integrato per Android e iOS (macOS runner) e un enorme ecosistema di azioni pronte. Per specializzazione mobile — Bitrise.

Ho bisogno di un Mac per il CI/CD iOS?

No, i servizi CI (GitHub Actions, Bitrise, CircleCI) forniscono macOS runner. Paghi per minuti di utilizzo. Per il debug locale di Fastlane serve un Mac, ma la CI può funzionare nel cloud.

Che differenza c'è tra Canary Release e test A/B?

Canary Release — distribuzione di una nuova versione a un sottoinsieme di utenti per verificare la stabilità. Test A/B — confronto di due varianti di una funzionalità per scegliere la migliore. Canary riguarda l'affidabilità, A/B riguarda la conversione.

Fastlane è obbligatorio?

Fastlane non è obbligatorio ma altamente raccomandato. Senza Fastlane dovresti eseguire manualmente xcodebuild, gestire i certificati e caricare le build tramite interfaccia web. Fastlane automatizza tutte queste attività con un solo comando.

Cos'è Match in Fastlane?

Match è uno strumento Fastlane per gestire i certificati di Code Signing iOS. Match memorizza certificati e profili di provisioning in un repository Git crittografato e li sincronizza tra tutti gli sviluppatori e il server CI.

Riepilogo

  • CI/CD — build, test e distribuzione automatica dell'app. Uno standard essenziale per qualsiasi team.
  • GitHub Actions — CI/CD generale per progetti GitHub; Bitrise — specializzato per mobile.
  • Fastlane — strumento per l'automazione delle build mobili: firma del codice, screenshot, pubblicazione.
  • Build Pipeline — sequenza di passaggi: linting → test unitari → build → test UI → rilascio.
  • Canary Release — distribuzione all'1–5% degli utenti; Feature Flags — attivazione funzionalità senza deploy.
  • Feature Flags — gestione delle funzionalità a runtime tramite LaunchDarkly / Firebase Remote Config.
  • L'automazione CI/CD riduce i tempi di rilascio da settimane a ore e minimizza gli errori umani.

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto