Saltare al contenuto principale

Configurazione della CI/CD per le applicazioni Capacitor

Scopri come semplificare le tue rilasci di app per iOS e Android utilizzando le pipeline CI/CD, aumentando l'efficienza e riducendo gli errori.

Configurazione della CI/CD per le applicazioni Capacitor

Vuole rilasciare applicazioni iOS e Android più veloci e senza errori? Flussi di lavoro CI/CD per Capacitor Le pipeline CI/CD per gli Capgo.

Capacitor

  • Prendi nota di: Capacitor appsapp di Capacitor
  • : accelera la costruzione di 78% e riduce le rifiute dei negozi del 60%.: Strumenti essenziali, Xcode Studio per iOS e Android, CocoaPods, e altro.
  • Configurazione 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 rapida:

  1. Preparare l'ambiente: Installare gli strumenti richiesti per iOS e Android.
  2. Configurare il tuo progetto: Aggiornare capacitor.config.ts e gestisci le variabili di ambiente in modo sicuro.
  3. Pipelines di costruzione: Automatizza l'installazione delle dipendenze, la costruzione e i test per entrambe le piattaforme.
  4. Optimizza le prestazioni: Utilizza il caching, le costruzioni parallele e i flussi di lavoro condizionali.
  5. Aggiungi aggiornamenti in tempo reale: Integra Capgo per aggiornamenti sicuri, OTA con rulli 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 le 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 sostegno della dipendenza dell'automazione.

Strumenti e Configurazione Software

Assicurati di avere questi strumenti chiave installati:

Per lo sviluppo di iOS:

  • Xcode 14 o versione successiva
  • Xcode Command Line Tools
  • CocoaPods per la gestione delle dipendenze

Per lo svviluppo di Android:

  • Android Studio
  • Android SDK 33 o superiore
  • Sviluppatore Java Kit (JDK)

Per confermare che i Xcode Command Line Tools sono installati, utilizza:

xcode-select -p

Creazione di un Capacitor Impostazione della piattaforma di aggiornamento in tempo reale per le applicazioni Capacitor

Capacitor Framework Documentation Website

Documentazione del framework Capacitor capacitor.config.ts Il tuo progetto __CAPGO_KEEP_0__ deve essere configurato correttamente per le workflow di CI/CD. Il

const config: CapacitorConfig = {
  appId: 'com.example.app',
  webDir: 'build',
  ios: { 
    scheme: 'MyApp'
  }
}

Questo file assicura che il tuo progetto sia allineato con le richieste di CI/CD.

Configurazione delle variabili di ambiente

Gestire le credenziali in modo sicuro è un aspetto fondamentale per collegare la tua configurazione di ambiente con la pipeline di CI/CD.

Variabili chiave da definire:

  • BUILD_ENV: Specifica la fase di distribuzione (ad esempio, production)
  • IOS_SIGNING_IDENTITY: Il tuo certificato di firma code
  • ANDROID_KEYSTORE_PATH: Percorso del tuo keystore Android

Per le costruzioni Android, generare dinamicamente un local.properties file durante il processo CI:

echo "sdk.dir=$ANDROID_SDK_ROOT" > android/local.properties

Quando si lavora con le costruzioni iOS, assicurarsi che il proprio piattaforma CI supporti gli agenti macOS.

Per verificare se il proprio ambiente è pronto:

node --version | grep "v16" && xcodebuild -version | grep "Xcode 14" || exit 1

La gestione corretta delle chiavi e dei credenziali può significativamente ridurre le probabilità di rifiuti degli store di app, come notato nelle statistiche precedenti [1].

Creazione della propria pipeline CI/CD

Una volta pronto l'ambiente, il passo successivo è la configurazione di una pipeline CI/CD per il proprio Capacitor appQuesto pipeline dovrebbe gestire in modo efficiente sia gli asset web che le costruzioni di piattaforma nativa.

Installazione e Aggiornamento delle Dipendenze

In ambienti CI/CD, la gestione delle dipendenze richiede un controllo di versione rigoroso. Iniziare con un processo di installazione pulita:

npm install --ignore-scripts
npm install @capacitor/cli

Per accelerare le compilazioni, utilizzare la cache delle dipendenze. Ad esempio, Azure DevOps Gli utenti di Azure DevOps hanno visto migliorare i tempi di compilazione 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 compilazione per iOS e Android

Ecco come configurare le compilazioni per entrambe le piattaforme:

Configurazione di compilazione 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 compilazione per Android:

cd android
./gradlew bundleRelease

Passaggi di testing e di distribuzione

Eseguire i 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, configurare il trattamento di artefatti specifici per piattaforma:

Piattaforma Tipo di artefatto Distribuzione del Canale
IOS .ipa App Store Connect
Android .aab Google Play Console

Utilizzando costruzioni parallele si può ridurre significativamente il tempo di esecuzione della pipeline quando configurato correttamente.

Dopo aver validato e pacchettizzato le tue build, sei pronto a passare alle aggiornamenti in tempo reale con Capgo (discussato nella sezione successiva).

sbb-itb-f9944d2

Aggiungere Capgo per Aggiornamenti in Tempo Reale

Capgo Dashboard di Aggiornamento in Tempo Reale

Integrando Capgo nel tuo workflow migliora il tuo processo CI/CD consentendo aggiornamenti post-rilascio. Ecco come impostarlo:

Capgo Configurazione 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 costruzione e distribuzione automatizzato. Successivamente, includi il comando di caricamento dopo i passaggi di costruzione:

Per

- name: Upload Update
  run: |
    capgo upload --api-key $CAPGO_KEY --bundle ./build/app-release.apk
    capgo deploy v${VERSION} --channel production

aggiornare aggiornamenti sicuriconfigure le impostazioni di validazione come segue:

{
  "verification": {
    "checksum": "strict",
    "certificatePinning": true,
    "updateTimeout": 500
  }
}

Capgo Features Overview

Funzione Descrizione
Crittografia end-to-end Riduce significativamente gli errori di distribuzione.
Distribuzione basata sul canale Adatta gli aggiornamenti a specifici ambienti.
Esecuzione graduale degli aggiornamenti. Linee guida per gli aggiornamenti OTA.

Feature

Migliora i processi di testing tracciando questi metriche chiave dopo la distribuzione:

Strategia di Deployment Fase per Fase

Utilizza un rilascio in fasi per controllare come vengono distribuiti gli aggiornamenti:

- name: Staged Rollout
  run: |
    capgo deploy v1.2.3 --group "beta-users" --rollout 10%
    capgo deploy v1.2.3 --rollout 50%

Monitoraggio degli Aggiornamenti

Tieni d'occhio questi metriche:

  • Tasso di adozione: Mirati 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

Focalizzandosi su tre aree chiave è possibile ottenere miglioramenti notevoli nella pipeline:

Optimizzazione della velocità di costruzione

Per modifiche web-only, utilizzare npx cap sync può risparmiare tempo evitando ricostruzioni native complete, 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 vengano 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 la tracciatura e l'ottimizzazione della prestazione della pipeline attraverso metriche come:

  • Tempo di costruzione per fase
  • Efficienza della cache (rapporti di colpo/colpo mancato)
  • Utilizzo massimo delle risorse

Configurazione di più ambienti

La gestione di più ambienti può essere semplificata utilizzando configurazioni specifiche per l'ambiente. Ecco un esempio di configurazione:

Ambiente File di configurazione
Sviluppo .env.dev
Stagging .env.staging
Produzione Vault di sicurezza

È possibile 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

La combinazione di queste configurazioni con la distribuzione basata sul canale di Capgo consente aggiornamenti precisi e specifici per l'ambiente. Ciò garantisce una distribuzione più fluida e un maggiore controllo sul comportamento dell'applicazione in diversi ambienti.

Riepilogo

Ruolo del CI/CD nel Development

Utilizzare i flussi di lavoro CI/CD per le Capacitor app 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 di 40-60% [1][2].

Ad esempio, i team 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 semplificata 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 la costruzione automatica con i rilasci fasi, i team raggiungono risultati impressionanti: 80% copertura degli utenti entro 7 giorni e capacità di rollback in meno di un'ora.

A una strategia comune coinvolge l'esecuzione di tracce di distribuzione parallele. Vengono utilizzati costrutti automatizzati per il testing interno, mentre i rilasci fasi mirano a segmenti di utenti. Ciò assicura che gli aggiornamenti siano sia veloci che sicuri, supportati da rigorosi cancelli di testing automatizzato [1].

Domande frequenti

Come creare un'app Capacitor?

Costruire un'app Capacitor comporta alcuni passaggi diretti:

  1. 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
  2. Aggiungi il supporto per le piattaforme: Aggiungi le piattaforme che desideri targettizzare, come iOS o Android:

    npx cap add ios
    npx cap add android
  3. Sincronizza il tuo web code: Assicurati che il tuo web code sia allineato con le piattaforme native eseguendo:

    npx cap sync

Lo step di sincronizzazione è cruciale per mantenere l'app coerente su tutte le piattaforme e assicurare 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 Impostazione della configurazione CI/CD per le applicazioni Capacitor per pianificare l'automazione della configurazione CI/CD, connettilo con Capgo configurazione CI/CD per il flusso di lavoro del prodotto in Capgo configurazione CI/CD, Capgo Costruzioni native per il flusso di lavoro del prodotto in Capgo Costruzioni native, Capgo Integrazioni per il flusso di lavoro del prodotto in Capgo Integrazioni, Integrazione CI/CD per i dettagli di implementazione in Integrazione CI/CD, e GitHub Integrazione azioni per la dettagliata implementazione in GitHub Azioni di integrazione.

Aggiornamenti in tempo reale per le app Capacitor

Quando un bug nel layer web è attivo, invia la correzione attraverso Capgo invece di attendere giorni per l'approvazione della store. Gli utenti ricevono l'aggiornamento in background mentre le modifiche native rimangono nel normale percorso di revisione.

Sostegno umano da parte di Martin

Inizia subito

Ultimi articoli dal nostro Blog

Capgo vi offre le migliori informazioni per creare un'app mobile davvero professionale.