Vuoi rilasciare app più veloci e senza errori per iOS e Android? Pipeline CI/CD per Capacitor Automatizza la costruzione, il testing e la distribuzione, riducendo i tempi di rilascio di fino al 70% e gli errori del 60%. Capgo.
Prendi nota:
- Perché la CI/CD è importante per Capacitorapplicazioni
- Riduce i tempi di costruzione del 78% e riduce le rifiute di store del 60%.: Strumenti essenziali, Xcode, Android StudioCocoaPods
- Impostazione della pipeline: Automatizza compiti come
npx cap sync, caching delle dipendenze e costruzioni specifiche per piattaforma. - Aggiornamenti in tempo reale con Capgo: Abilita gli aggiornamenti post-rilascio con roll-out fasi e salvaguardie di rollback.
Passaggi di configurazione veloci:
- Preparare l'ambiente: Installare gli strumenti richiesti per iOS e Android.
- Configurare il tuo progetto: Aggiornare
capacitor.config.tse gestire le variabili di ambiente in modo sicuro. - Pipeline di costruzione: Automate installazioni di dipendenze, costruzioni e test per entrambe le piattaforme.
- Optimizza le prestazioni: Utilizza caching, costruzioni parallele e workflow condizionali.
- Aggiungi aggiornamenti in tempo reale: Integra Capgo per aggiornamenti OTA sicuri con rilasci fasi.
Con CI/CD, le app Capacitor raggiungono rilasci più veloci e lisci, riducendo gli errori e l'intervento manuale. Pronto a ottimizzare il tuo workflow? Entriamo nel vivo!
Integra le tue pipeline CI/CD esistenti con capacità mobili
Preparazione dell'ambiente CI/CD
Una volta che hai affrontato le basi di CI/CD, il passo successivo è configurare l'ambiente. Questo è il fondamento dell'automazione affidabile.
Configurazione degli strumenti e del software
Assicurati di avere questi strumenti chiave installati:
For lo sviluppo iOS:
- Xcode 14 o versione successiva
- Strumenti di riga di comando di Xcode
- CocoaPods per la gestione delle dipendenze
For lo sviluppo Android:
- Android Studio
- Android SDK 33 o superiore
- Sviluppo Java Kit (JDK)
Per confermare che gli Strumenti di riga di comando di Xcode sono installati, utilizzare:
xcode-select -p
Criando un Capacitor Progetto

Il tuo progetto Capacitor deve essere configurato correttamente per i flussi di lavoro CI/CD. Il capacitor.config.ts file è al cuore di questa configurazione:
const config: CapacitorConfig = {
appId: 'com.example.app',
webDir: 'build',
ios: {
scheme: 'MyApp'
}
}
Questo file assicura che il tuo progetto si allinei con le richieste di CI/CD.
Configurazione delle Variabili di Ambiente
Gestire le credenziali in modo sicuro è una parte chiave del collegamento della configurazione dell'ambiente con il flusso di lavoro del pipeline CI/CD.
Chiavi da Definire:
BUILD_ENV: Specifica la fase di distribuzione (ad esempio,production)IOS_SIGNING_IDENTITY: Il tuo certificato di firma codeANDROID_KEYSTORE_PATH: Percorso del tuo keystore Android
Per le build Android, generare dinamicamente un local.properties file durante il processo di CI:
echo "sdk.dir=$ANDROID_SDK_ROOT" > android/local.properties
When working with iOS builds, ensure your CI platform supports macOS agents.
To check if your environment is ready:
node --version | grep "v16" && xcodebuild -version | grep "Xcode 14" || exit 1
Properly managing keys and credentials can significantly lower the chances of app store rejections, as noted in earlier statistics [1].
Criazione della tua pipeline CI/CD
Una volta pronto il tuo ambiente, il passo successivo è la configurazione di una pipeline CI/CD per il tuo Capacitor appQuesto pipeline dovrebbe gestire in modo efficiente sia gli asset web che le build di piattaforme native.
Installazione e Aggiornamento delle Dipendenze
In ambienti CI/CD, la gestione delle dipendenze richiede un controllo di versione rigoroso. Inizia con un processo di installazione pulita:
npm install --ignore-scripts
npm install @capacitor/cli
Per accelerare i build, utilizza il caching delle dipendenze. Ad esempio DevOps di Azure gli utenti hanno visto migliorare i tempi di costruzione di 40-60% con questo setup:
- task: Cache@2
inputs:
key: 'npm | "$(Agent.OS)" | package-lock.json'
path: |
node_modules
android/.gradle
ios/Pods
Configurazione di costruzione per iOS e Android
Ecco come configurare le costruzioni per entrambe le piattaforme:
Configurazione di costruzione per iOS:
steps:
- task: InstallAppleCertificate@2
inputs:
certSecureFile: 'certificate.p12'
certPwd: $(P12_PASSWORD)
- script: |
xcodebuild -workspace ios/App/App.xcworkspace -scheme App -configuration Release -archivePath ios/App/App.xcarchive archive
Configurazione di costruzione per Android:
cd android
./gradlew bundleRelease
Passaggi di testing e distribuzione
Esegui test di piattaforma in parallelo utilizzando una strategia di matrice:
test:
steps:
- run: npm run test:unit
- run: npm run test:e2e
- name: Run Platform Tests
matrix:
platform: [ios, android]
run: npm run test:${{ matrix.platform }}
Per la distribuzione, configura il trattamento di artefatti specifici per piattaforma:
| Piattaforma | Tipo di artefatto | Canale di distribuzione |
|---|---|---|
| iOS | .ipa | App Store Connect |
| Android | .aab | Google Play Console |
Utilizzando i build paralleli si può ridurre significativamente il tempo di esecuzione della pipeline quando configurato correttamente.
Una volta che i tuoi build sono stati validati e pacchettizzati, sei pronto a passare alle aggiornamenti in tempo reale con Capgo (discussi nella sezione successiva).
sbb-itb-f9944d2
Aggiungere Capgo per Aggiornamenti in Tempo Reale

Integrando Capgo nella tua pipeline migliora il tuo processo CI/CD consentendo aggiornamenti post-rilascio. Ecco come configurarlo:
Capgo Configuration della pipeline
Prima, installa il Capgo CLI nel tuo ambiente di pipeline:
steps:
- name: Install Capgo CLI
run: npm install -g @capgo/cli
- name: Configure Authentication
env:
CAPGO_KEY: ${{ secrets.CAPGO_API_KEY }}
Questa aggiunta estende il tuo ciclo di vita CI/CD incorporando la gestione degli aggiornamenti nel tuo processo di build e distribuzione automatizzato. Successivamente, includi il comando di upload dopo i passaggi di build: Per
aggiornamenti sicuri
- name: Upload Update
run: |
capgo upload --api-key $CAPGO_KEY --bundle ./build/app-release.apk
capgo deploy v${VERSION} --channel production
, configura le impostazioni di validazione come segue: protectedTokenspagePath
{
"verification": {
"checksum": "strict",
"certificatePinning": true,
"updateTimeout": 500
}
}
Capgo Caratteristiche di base
| Caratteristica | Descrizione |
|---|---|
| Criptazione fine-a-fine | context |
| Riduce significativamente gli errori di distribuzione. | Deploy con canale |
| Adatta gli aggiornamenti a specifici ambienti. | Rollout graduale |
Assicura che gli aggiornamenti siano distribuiti gradualmente.
Linee guida per l'aggiornamento OTA
Rafforza i tuoi processi di testing tracciando questi metriche chiave dopo la distribuzione:
Usa un rilascio in fase di testing per controllare come vengono distribuite le aggiornamenti:
- name: Staged Rollout
run: |
capgo deploy v1.2.3 --group "beta-users" --rollout 10%
capgo deploy v1.2.3 --rollout 50%
Monitoraggio Aggiornamenti
Tieni d'occhio questi metriche:
- Tasso di adozione: mira a 40-60% entro le prime 24 ore.
- Sessioni senza crash: mantieni sopra il 99,5%.
- Tempo di verifica: assicurati che sia inferiore a 500ms.
Se i crash superano i livelli accettabili, automatizza un rollback:
- name: Rollback Check
run: |
if [ $(capgo stats --version v1.2.3 --metric crashes) -gt 2 ]; then
capgo rollback --channel production
fi
Miglioramento della prestazione della pipeline
Sfocandosi su tre aree chiave può portare a miglioramenti rilevabili nella tua pipeline:
Ottimizzazione della Velocità di Costruzione
Per le modifiche esclusivamente web, utilizzando npx cap sync può risparmiare tempo evitando la ricostruzione completa nativa, riducendo il tempo di ricostruzione di circa il 40%. Ecco come puoi implementare la costruzione condizionale:
- name: Build Strategy
run: |
[ "$WEB_ONLY" = true ] && npx cap sync || (./gradlew assembleRelease && xcodebuild ...)
Questa approccio garantisce che solo i componenti necessari vengono ricostruiti, semplificando il processo.
Automazione del Controllo di Versione
L'automazione del controllo di versione può semplificare il tuo workflow. Utilizza lo script seguente per impostare dinamicamente versione e numeri di costruzione:
- name: Set Version
run: |
VERSION=$(node -p "require('./package.json').version")
BUILD_NUMBER=$GITHUB_RUN_NUMBER
echo "APP_VERSION=${VERSION}" >> $GITHUB_ENV
echo "BUILD_ID=${BUILD_NUMBER}" >> $GITHUB_ENV
Inoltre, la versione semantica automatizzata può essere configurata con questa impostazione:
{
"scripts": {
"version": "standard-version",
"build:prod": "npm version patch && ionic build --prod"
}
}
Queste pratiche forniscono un solido framework per il tracciamento e l'ottimizzazione delle prestazioni della pipeline attraverso metriche come:
- Tempo di costruzione per fase
- Efficienza della cache (rapporti di colpo/colpo mancato)
- Utilizzo massimo di risorse
Configurazione di Piattaforme Multiple
Gestire più ambienti può essere semplificato utilizzando configurazioni specifiche per l'ambiente. Ecco un esempio di configurazione:
| Ambiente | File di configurazione |
|---|---|
| Sviluppo | .env.dev |
| Stagging | .env.staging |
| Produzione | Cassetti sicuri |
Puoi configurare gli ambienti dinamicamente con questo script:
- name: Configure Environment
env:
API_KEY: ${{ secrets.ENV_SPECIFIC_API_KEY }}
BUNDLE_ID: ${{ parameters.bundleId }}
run: |
echo "ENVIRONMENT=${{ parameters.environment }}" >> $GITHUB_ENV
echo "API_ENDPOINT=${{ parameters.apiUrl }}" >> $GITHUB_ENV
L'associazione di queste configurazioni con il canale di distribuzione di Capgo consente aggiornamenti precisi e specifici per l'ambiente. Ciò garantisce rilasci più fluidi e un controllo migliore sul comportamento dell'applicazione in diversi ambienti.
Riepilogo
Il ruolo del CI/CD nel Development
L'utilizzo di pipeline CI/CD per le app di Capacitor aumenta significativamente l'efficienza del workflow. Secondo i dati dell'industria, i team possono raggiungere 50-70% cicli di rilascio più veloci grazie a costruzioni iOS e Android simultanee [3]. L'automazione di compiti come l'installazione delle dipendenze e la sincronizzazione delle piattaforme riduce gli errori di distribuzione a 40-60% [1][2].
Ad esempio, le squadre che utilizzano i flussi di lavoro di Azure DevOps hanno automatizzato processi come i passaggi di costruzione sequenziali e il packaging di Xcode. Utilizzano anche ambienti parametrizzati per lo sviluppo e la produzione. Questa approccio elimina la necessità di operazioni manuali di Gradle e Xcode CLI, garantendo la creazione di artefatti affidabili ogni volta.
Queste migliorie creano le basi per una gestione degli aggiornamenti più fluida quando combinata con Capgo.
Capgo per la Gestione degli Aggiornamenti
Capgo funziona in modo trasparente con i flussi di lavoro CI/CD per fornire aggiornamenti istantanei mentre rimane conforme alle politiche degli store di app. Gli aggiornamenti vengono distribuiti solo dopo aver superato le porte di testing automatizzate integrate nel flusso di lavoro.
Combinationando costruzioni automatizzate con rilasci fasi, le squadre ottengono risultati impressionanti: 80% di copertura degli utenti entro 7 giorni e capacità di rollback in meno di un'ora.
Una strategia comune consiste nell'eseguire tracce di distribuzione parallele. Le costruzioni automatizzate vengono utilizzate per i test interni, mentre i rilasci fasi si concentrano su segmenti di utenti. Ciò garantisce che gli aggiornamenti siano sia veloci che sicuri, supportati da porte di testing automatizzate rigorose [1].
Domande frequenti
How to create an app Capacitor?
Il processo di creazione di un'app Capacitor prevede alcuni passaggi semplici:
-
Configura il tuo ambiente: Installa Node.js e npm sul tuo sistema. Poi, utilizza l'CLI di Ionic per avviare un nuovo progetto con supporto per Capacitor:
ionic start myApp tabs --capacitor -
Aggiungi il supporto per le piattaforme: Aggiungi le piattaforme che desideri targetizzare, come iOS o Android:
npx cap add ios npx cap add android -
Sincronizza il tuo web code: Assicurati che il tuo web code sia allineato con le piattaforme native eseguendo:
npx cap sync
Il passaggio di sincronizzazione è cruciale per mantenere l'app coerente across piattaforme e garantire un funzionamento liscio nelle pipeline CI/CD. Per ulteriori informazioni sulla configurazione del tuo ambiente, consulta la sezione Strumenti.
Continua da Setting Up CI/CD per le app Capacitor
Se stai utilizzando Setting Up CI/CD per le app Capacitor per pianificare l'automazione CI/CD, connettilo con Capgo CI/CD per il flusso di lavoro del prodotto in Capgo CI/CD, Capgo Costruzioni native per il flusso di lavoro del prodotto in Capgo Costruzioni native, Capgo Integrazioni for the product workflow in Capgo Integrations, per il flusso di lavoro del prodotto in __CAPGO_KEEP_0__ Integrazioni, Integrazione CI/CD GitHub Actions Integration for the implementation detail in GitHub Actions Integration.