Zum Hauptinhalt springen

Einstellungen für CI/CD für Capacitor-Apps

Erfahren Sie, wie Sie Ihre App-Veröffentlichungen für iOS und Android mit CI/CD-Pipelines optimieren können, um die Effizienz zu steigern und Fehler zu reduzieren.

Martin Donadieu

Martin Donadieu

Content Marketer

Die Einrichtung von CI/CD für Capacitor-Apps

Möchten Sie schnellere und fehlerfreie App-Veröffentlichungen für iOS und Android? CI/CD-Pipelines für __CAPGO_KEEP_0__-Apps automatisieren das Bauen, Testen und Bereitstellen, wodurch die Veröffentlichungszeit um bis zu 70% und die Fehler um 60% reduziert werden kann. Diese Anleitung umfasst alles, was Sie wissen müssen, von der Einrichtung Ihres Umfelds bis hin zur Automatisierung von Live-Updates mit __CAPGO_KEEP_0__ Capacitor Warum CI/CD für __CAPGO_KEEP_0__-Apps wichtig ist Warum CI/CD für Capgo-Apps wichtig ist.

Warum CI/CD für __CAPGO_KEEP_0__-Apps wichtig ist

  • Warum CI/CD für __CAPGO_KEEP_0__-Apps wichtig ist Capacitor Apps: Beschleunigt die Builds um 78 % und reduziert die Store-Ablehnungen um 60 %.
  • Wichtige Werkzeuge: Xcode, Android Studio, CocoaPods, und mehr.
  • Pipeline-Einrichtung: Automatisiert Aufgaben wie npx cap sync, Abhängigkeits-Caching und plattform-spezifische Builds.
  • Live-Updates mit Capgo: Aktiviere post-Release-Updates mit phasenweisen Rollouts und Rollback-Sicherungen.

Schnelle Einrichtungsschritte:

  1. Ihre Umgebung vorbereiten: Installieren Sie die erforderlichen Werkzeuge für iOS und Android.
  2. Konfigurieren Sie Ihr Projekt: Aktualisieren Sie capacitor.config.ts und verwalten Sie Umgebungsvariablen sicher.
  3. Build-Pipelines: Automatisieren Sie die Installation von Abhängigkeiten, Builds und Tests für beide Plattformen.
  4. Leistung optimieren: Verwenden Sie Caching, parallele Builds und bedingte Workflows.
  5. Live-Updates hinzufügen: Integrieren Sie Capgo für sichere, OTA-Updates mit phasenweisen Rollouts.

Mit CI/CD erreichen Capacitor-Anwendungen schnellere, glattere Releases, während Fehler und manuelle Eingriffe minimiert werden. Bereit, Ihren Workflow zu optimieren? Lassen Sie uns loslegen!

Integrieren Sie Ihre bestehenden CI/CD-Pipelines mit mobilen Funktionen

Vorbereitung Ihres CI/CD-Umgebungs

Einmal, wenn Sie die Grundlagen von CI/CD beherrschen, ist der nächste Schritt die Einrichtung Ihrer Umgebung. Dies ist die Grundlage für zuverlässige Automatisierung.

Tools und Software-Setup

Stellen Sie sicher, dass Sie diese Schlüssel-Tools installiert haben:

Für iOS-Entwicklung:

  • Xcode 14 oder neuer
  • Xcode-Befehlszeilenwerkzeuge
  • CocoaPods für die Verwaltung von Abhängigkeiten

Für Android-Entwicklung:

  • Android Studio
  • Android SDK 33 oder höher
  • Java-Entwicklungskit (JDK)

Um sicherzustellen, dass Ihre Xcode Command Line Tools installiert sind, verwenden Sie:

xcode-select -p

Erstellung eines Capacitor Projekt

Capacitor Framework-Dokumentation-Website

Ihr Capacitor-Projekt muss korrekt konfiguriert sein, um CI/CD-Workflows zu ermöglichen. Das capacitor.config.ts Datei ist das Herzstück dieser Einrichtung:

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

Diese Datei stellt sicher, dass Ihr Projekt den CI/CD-Anforderungen entspricht.

Umgebungseinstellungen konfigurieren

Die sichere Verwaltung von Anmeldeinformationen ist ein wichtiger Aspekt bei der Verbindung Ihrer Umgebungsanpassungen mit dem CI/CD-Pipeline.

Schlüsselvariablen definieren:

  • BUILD_ENV: Legt die Bereitstellungsstufe fest (z.B. production)
  • IOS_SIGNING_IDENTITY: Ihr code-Signaturzertifikat
  • ANDROID_KEYSTORE_PATH: Pfad zu Ihrem Android-Keystore

Für Android-Builds generieren Sie dynamisch ein local.properties Dokument während des CI-Prozesses:

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

Beim Arbeiten mit iOS-Builds stellen Sie sicher, dass Ihr CI-Plattform macOS-Agenten unterstützt.

Um zu überprüfen, ob Ihre Umgebung bereit ist:

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

Die ordnungsgemäße Verwaltung von Schlüsseln und Anmeldeinformationen kann die Chancen auf App-Store-Ablehnungen erheblich verringern, wie in früheren Statistiken erwähnt [1].

Erstellen Sie Ihre CI/CD-Pipeline

Sobald Ihre Umgebung bereit ist, ist der nächste Schritt die Einrichtung eines CI/CD-Pipelines für Ihr Capacitor Anwendungsprogramm. Diese Pipeline sollte effizient sowohl Web-Assets als auch native Plattform-Builds verwalten.

Installation und Aktualisierung von Abhängigkeiten

In CI/CD-Umgebungen erfordert die Verwaltung von Abhängigkeiten eine strenge Versionskontrolle. Beginnen Sie mit einem sauberen Installationsprozess:

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

Um die Build-Zeit zu verkürzen, verwenden Sie eine Abhängigkeits-Cache. Zum Beispiel haben Azure DevOps Benutzer eine Build-Zeit von 40-60% verkürzt, indem sie diese Konfiguration verwendet:

- task: Cache@2
  inputs:
    key: 'npm | "$(Agent.OS)" | package-lock.json'
    path: |
      node_modules
      android/.gradle
      ios/Pods

iOS- und Android-Build-Einrichtung

Hier erfahren Sie, wie Sie Builds für beide Plattformen einrichten:

iOS-Build-Konfiguration:

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

Android-Build-Konfiguration:

cd android
./gradlew bundleRelease

Test- und Bereitstellungsschritte

Führen Sie Plattformtests parallel mit einer Matrixstrategie aus:

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 }}

Für die Bereitstellung müssen Sie Plattform-spezifische Artefaktverwaltung einrichten:

PlattformArtefakttypVerteilungskanal
iOS.ipaApp Store Connect
Android.aabGoogle Play Console

Mit parallelen Builds kann die Ausführungszeit des Pipelines erheblich reduziert werden, wenn sie richtig konfiguriert sind.

Sobald Ihre Builds validiert und verpackt sind, sind Sie bereit, sich auf Live-Updates zu konzentrieren mit Capgo (erörtert im nächsten Abschnitt).

sbb-itb-f9944d2

Hinzufügen Capgo für Live-Updates

Capgo Live-Update-Dashboard-Interface

Die Integration von Capgo in Ihren Workflow verbessert Ihren CI/CD-Prozess, indem sie post-release-Updates ermöglicht. Hier ist, wie Sie es einrichten können:

Capgo Pipeline-Konfiguration

Zuerst installieren Sie das Capgo CLI in Ihrem Pipeline-Umgebung:

steps:
  - name: Install Capgo CLI
    run: npm install -g @capgo/cli
  - name: Configure Authentication
    env:
      CAPGO_KEY: ${{ secrets.CAPGO_API_KEY }}

Dieses Add-on erweitert Ihr CI/CD-Zyklus, indem es Aktualisierungsmanagement in Ihre automatisierte Build- und Bereitstellungsprozesse.

Nächstens fügen Sie den Upload-Befehl nach Ihren Build-Schritten ein:

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

Für Sichere Aktualisierungen, konfigurieren Sie die Validierungs-Einstellungen wie folgt:

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

Capgo Funktionen Übersicht

FunktionBeschreibung
End-to-End-VerschlüsselungSignifikante Fehler bei der Bereitstellung verringert.
Kanalbasierte BereitstellungAnpassen Sie Updates auf spezifische Umgebungen an.
Phasenweise BereitstellungStellen Sie sicher, dass Updates allmählich verteilt werden.

OTA-Update-Leitfaden

Erweitern Sie Ihre Testprozesse, indem Sie diese Schlüsselmetriken nach der Bereitstellung verfolgen:

Phasenweise Bereitstellungsstrategie

Verwenden Sie eine gestufte Bereitstellung, um die Verteilung von Updates zu steuern:

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

Update-Überwachung

Bleiben Sie auf diese Metriken aufmerksam:

  • Zulassungsrate: Ziel ist eine Rate von 40-60% innerhalb der ersten 24 Stunden.
  • Unfallfreie Sitzungen: Erreichen Sie über 99,5%.
  • Verifizierungszeit: Stellen Sie sicher, dass sie unter 500ms liegt.

Wenn die Anzahl der Störungen die akzeptablen Werte überschreitet, automatisieren Sie eine Rückschaltung:

- name: Rollback Check
  run: |
    if [ $(capgo stats --version v1.2.3 --metric crashes) -gt 2 ]; then
      capgo rollback --channel production
    fi

Verbesserung der Pipeline-Leistung

Fokussieren Sie sich auf drei Schlüsselfaktoren, um eine merkliche Verbesserung in Ihrer Pipeline zu erzielen:

Optimierung der Build-Geschwindigkeit

Für Web-Änderungen nur, die Verwendung von npx cap sync kann Zeit sparen, indem vollständige native Rebuilds ausgelassen werden, wodurch die Rebuild-Zeit um etwa 40% reduziert wird. Hier ist, wie Sie bedingte Builds implementieren können:

- name: Build Strategy
  run: |
    [ "$WEB_ONLY" = true ] && npx cap sync || (./gradlew assembleRelease && xcodebuild ...)

Diese Vorgehensweise stellt sicher, dass nur die notwendigen Komponenten neu erstellt werden, was den Prozess vereinfacht.

Automatisierung der Versionskontrolle

Automatisches Versionskontrollen kann Ihren Workflow vereinfachen. Verwenden Sie das folgende Skript, um Versions- und Buildnummern dynamisch festzulegen:

- 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

Zusätzlich kann automatisierte semantische Versionsverwaltung mit dieser Konfiguration eingerichtet werden:

{
  "scripts": {
    "version": "standard-version",
    "build:prod": "npm version patch && ionic build --prod"
  }
}

Diese Praktiken bieten einen soliden Rahmen für die Erfassung und Verbesserung der Pipelineleistung über Metriken wie:

  • Aufwandszeit pro Stufe
  • Cache-Effizienz (Hitz- und Fehlerraten)
  • Peak-Ressourcenverbrauch

Mehrfachumgebungs-Setup

Die Verwaltung mehrerer Umgebungen kann durch die Verwendung umgebungsbezogener Konfigurationen erleichtert werden. Hier ist ein Beispiel-Setup:

UmweltKonfigurationsdatei
Entwicklung.env.dev
Staging.env.staging
ProduktionSichere Tresore

Sie können Umgebungen dynamisch mit diesem Skript konfigurieren:

- 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

Die Kombination dieser Konfigurationen mit Capgo’s kanalbasierten Bereitstellung ermöglicht präzise, umgebungsbezogene Updates. Dies sichert glattere Rollouts und bessere Kontrolle über die Anwendungsverhalten in verschiedenen Umgebungen.

Zusammenfassung

Die Rolle von CI/CD im Entwicklungsbereich

Die Verwendung von CI/CD-Pipelines für Capacitor-Anwendungen erhöht die Effizienz des Workflow um ein Vielfaches. Nach Angaben der Industrie können Teams 50-70% schneller Releasezyklen dank simultaner iOS- und Android-Builds [3]erreichen. Die Automatisierung von Aufgaben wie der Installation von Abhängigkeiten und der Plattform-Synchronisierung reduziert die Fehler bei der Bereitstellung um 40-60% [1][2].

Beispielsweise haben Teams, die Azure DevOps-Pipelines nutzen, automatisierte Prozesse wie sequenzielle Build-Schritte und Xcode-Pakete implementiert. Sie nutzen auch parametrisierte Umgebungen für Entwicklung und Produktion. Diese Vorgehensweise eliminiert die Notwendigkeit manueller Gradle- und Xcode-CLI-Operationen, um jede Zeit sicherzustellen, dass Artefakte erstellt werden.

Diese Verbesserungen legen den Grundstein für eine gestreamte Update-Verwaltung, wenn sie mit Capgo kombiniert werden.

Capgo für Update-Management

Capgo funktioniert reibungslos mit CI/CD-Pipelines, um sofortige Updates bereitzustellen, während die Einhaltung der Richtlinien der App-Store-Plattform gewährleistet ist. Updates werden nur nachdem sie die automatisierten Testschwellen, die in die Pipeline eingebaut wurden, passiert sind, bereitgestellt.

Durch die Combination von automatisierten Builds mit phasenweisen Rollouts können Teams beeindruckende Ergebnisse erzielen: 80% Benutzerabdeckung innerhalb von 7 Tagen und Rollback-Funktionen innerhalb von einer Stunde.

Eine gängige Strategie besteht darin, parallel Deployments zu führen. Automatisierte Builds werden für interne Tests verwendet, während phasenweise Rollouts auf Benutzersegmente zielen. Dies stellt sicher, dass Updates sowohl schnell als auch sicher sind, unterstützt durch strenge automatisierte Testschwellen [1].

Häufig gestellte Fragen

Wie erstelle ich eine Capacitor-App?

Die Erstellung einer Capacitor-App umfasst einige einfache Schritte:

  1. Konfigurieren Sie Ihre Umgebung: Installieren Sie Node.js und npm auf Ihrem System. Dann verwenden Sie das Ionic-CLI zum Starten eines neuen Projekts mit Capacitor-Unterstützung:

    ionic start myApp tabs --capacitor
  2. Hinzufügen von PlattformunterstützungFügen Sie die Plattformen hinzu, die Sie ansteuern möchten, wie iOS oder Android:

    npx cap add ios
    npx cap add android
  3. Synchronisieren Sie Ihr Web codeStellen Sie sicher, dass Ihr Web code mit den nativen Plattformen übereinstimmt, indem Sie Folgendes ausführen:

    npx cap sync

Der Synchronisierungsprozess ist entscheidend, um sicherzustellen, dass Ihre App konsistent ist und reibungslos in CI/CD-Pipelines läuft. Weitere Informationen zum Einrichten Ihrer Umgebung finden Sie im Tools-Bereich.

Live-Updates für Capacitor-Apps

Wenn ein Web-Schicht-Bug live ist, versenden Sie die Reparatur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung vorliegt. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Los geht's!

Neueste Beiträge aus unserem Blog

Capgo bietet Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle Mobil-App zu erstellen.