Zum Hauptinhalt springen

Wie man Build-Skripte mit Capacitor CLI anpasst

Lernen Sie, wie Sie Ihre Build-Skripte mit Capacitor CLI anpassen können, um effiziente Bereitstellungen und zugeschnittene App-Updates auf verschiedenen Plattformen zu ermöglichen.

Wie man Build-Skripte mit Capacitor CLI anpasst

Capacitor CLI ermöglicht Ihnen die Anpassung Ihres Apps-Build-Prozesses für iOS, Android und Web-Plattformen. Durch Anpassen von Build-Skripten können Sie:

  • Beschleunige UpdatesDrücken Sie Änderungen sofort ohne App-Store-Verzögerungen aus.
  • : Änderungen sofort ohne App-Store-Verzögerungen durchführen.: Rückschritte bei Updates oder Zielgruppen spezifizieren.
  • Sichern Sie Ihre App: Verschlüsseln Sie Updates, um sie zu schützen.
  • Optimieren Sie die Builds.Anpassen Sie die Einstellungen für Plattform-spezifische Bedürfnisse.

Schnelle Übersicht der Schlüsselfunktionen:

  • Konfigurationsdateien: Use capacitor.config.json und package.json um die Build-Einstellungen zu verwalten.
  • Benutzerdefinierte Skripte: Fügen Sie Vorbau- und Nachbauaufgaben für die Automatisierung hinzu.
  • Build-Hooks: Ausführen Sie code in bestimmten Phasen des Build-Prozesses.
  • Umweltvariablen: Vereinfachen Sie umgebungsspezifische Builds mit .env Dateien.

CapgoEin Bereitstellungs-Tool, das diese Prozess mit automatischen Updates, Versionsverfolgung und globaler Leistungsoptimierung verbessert. Lesen Sie weiter, um zu erfahren, wie Sie Ihre Build-Skripte für maximale Effizienz einrichten und anpassen können.

Einführung Capacitor Konfigurieren

Capacitor Framework-Dokumentationswebsite

Standarder Build Prozess in Capacitor

Um den Standardbuildprozess von Capacitor effektiv anpassen zu können, ist es wichtig, wie Capacitor seinen Standardbuildprozess handhabt. Im Folgenden werden wir den Buildprozess von Capacitor CLI und dessen Schlüsselfile für die Konfiguration aufschlüsseln.

Standard Build Schritte

Capacitor verwendet einen Schritt-für-Schritt-Prozess, um Ihre Web-App in plattform-spezifische Builds umzuwandeln. Hier ist, was während des Standardbuildprozesses passiert:

Phase Beschreibung Ausgabe
Web Build Kompilet Web-Assets mit Ihren Framework-Tools Optimierter Web-Bundle
Kopieren Sie Assets Überträgt Web-Assets in native Plattform-Ordner Plattform-spezifische Asset-Verzeichnisse
Natives Build Plattform-spezifische Build-Befehle ausführen Bereitstellungsbare Binärdateien
Überprüfung Die Integrität und Abhängigkeiten überprüfen Build-Status und Warnungen

Haupt-Konfigurationsdateien

Zwei Schlüsselkonfigurationsdateien bestimmen, wie Capacitor Ihre Builds verarbeitet:

capacitor.config.json
Dies ist die zentrale Konfigurationsdatei für Ihr Capacitor-Projekt. Sie legt wichtige Parameter für Ihre Builds fest:

{
  "appId": "com.example.app",
  "appName": "MyApp",
  "webDir": "dist",
  "bundledWebRuntime": false,
  "plugins": {
    "SplashScreen": {
      "launchShowDuration": 3000
    }
  }
}
  • appIdEine eindeutige Identifikationsnummer für Ihre App.
  • appName: Die Bezeichnung Ihrer App.
  • webDir: Legt fest, wo Capacitor nach den Web-Ressourcen suchen soll (z.B. dist).
  • plugins: Ermöglicht die Konfiguration von Plugin-einstellungen, wie z.B. Optionen für das SplashScreen.

: package.json
: Dieses Datei enthält Build-Skripte und Abhängigkeiten, die den Build-Prozess beeinflussen:

{
  "scripts": {
    "build": "npm run build:web && cap sync",
    "build:web": "vite build",
    "cap:build": "cap build"
  }
}
  • : Die webDir : Einstellung in capacitor.config.json : sagt Capacitor an, wo die kompilierten Web-Ressourcen für die Einbindung in die nativen Builds zu finden sind.
  • : Nachdem Sie Änderungen an capacitor.config.json: vorgenommen haben, müssen Sie cap sync sicherzustellen, dass Ihre native Projekte aktualisiert werden.

: Als Nächstes werden wir Ihnen zeigen, wie Sie diese Einstellungen anpassen können, um Ihre Builds noch weiter anzupassen.

Modifizieren Sie Build-Skripte

Sie können die Standardbuild-Prozesse von Capacitor an Ihre Projektbedürfnisse anpassen. Hier ist, wie Sie das tun:

Einstellungen für die Konfigurationsdatei

Sie können den Build-Prozess durch Bearbeitung der capacitor.config.json datei anpassen. Hier ist ein Beispielkonfiguration:

{
  "appId": "com.example.app",
  "webDir": "www",
  "server": {
    "hostname": "localhost",
    "androidScheme": "https",
    "iosScheme": "https",
    "allowNavigation": ["*.example.com"]
  },
  "android": {
    "buildOptions": {
      "keystorePath": "release.keystore",
      "keystorePassword": "mypassword",
      "keystoreAlias": "release",
      "keystoreAliasPassword": "mypassword"
    }
  },
  "ios": {
    "scheme": "App",
    "automaticProvisioning": true
  }
}

Here are some key settings you can modify:

  • webDir: Legt den Speicherort Ihrer kompilierten Web-Assets fest.
  • server: Konfiguriert den Entwicklungsserver, einschließlich Hostname und Navigationsberechtigungen.
  • android/ios: Erstellt plattformspezifische Build-Einstellungen, wie z.B. Schlüsseldetails für Android oder Bereitstellungsoptionen für iOS.

Erstellen von NPM-Skripten

Um Ihre Workflow zu vereinfachen, fügen Sie benutzerdefinierte NPM-Skripte Ihrer package.json datei hinzu. Hier ist ein Beispiel:

{
  "scripts": {
    "prebuild": "node ./scripts/prepare-env.js",
    "build": "npm run build:web && cap sync",
    "build:web": "vite build",
    "build:ios": "cap build ios --release",
    "build:android": "cap build android --release",
    "postbuild": "node ./scripts/notify-completion.js"
  }
}
  • prebuild und postbuild: Verwenden Sie diese für Aufgaben wie die Einrichtung der Umgebung oder die Benachrichtigung bei Abschluss der Build-Phase.
  • build:platform: Plattform-spezifische Befehle für die Erstellung von Android- oder iOS-Anwendungen.

Sie können die Automatisierung noch weiter gehen, indem Sie Build-Hooks hinzufügen.

Build-Hooks-Einrichtung

Für eine fortgeschrittene Kontrolle verwenden Sie Build-Hooks, um benutzerdefinierte code bei bestimmten Punkten im Build-Prozess auszuführen. Hier ist ein Beispiel für eine Einrichtung in capacitor.config.ts:

import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  appId: 'com.example.app',
  plugins: {
    CapacitorHooks: {
      beforeBuild: async () => {
        console.log('Running pre-build tasks...');
        // Add your pre-build tasks here
      },
      afterBuild: async () => {
        console.log('Running post-build tasks...');
        // Add your post-build tasks here
      }
    }
  }
};

export default config;

Mit Build-Hooks können Sie:

  • Überprüfen Sie die Anforderungen vor dem Build-Start
  • Transformieren Sie Assets während des Prozesses
  • Benachrichtigungen auslösen bei wichtigen Punkten
  • Aktualisieren Sie automatisch Versionsnummern
  • Laufen Sie automatisierte Tests reibungslos

Diese Vorgehensweise bietet Ihnen mehr Flexibilität und Kontrolle über den gesamten Build-Lebenszyklus.

Erweiterte Build-Anpassungen

Wenn Sie an größeren Projekten arbeiten, kann die Feinabstimmung Ihres Build-Prozesses einen großen Unterschied machen. Hier erfahren Sie, wie Sie Umgebungsabhängige Builds und Plattformanpassungen effektiv handhaben können.

Umgebungsvariablen

Stellen Sie Umgebungsvariablen ein, indem Sie separate .env Dateien für jede Umgebung:

  • .env.development
  • .env.staging
  • .env.production

Sie können diese Einstellungen weiter anpassen, um sie den Anforderungen der jeweiligen Plattform anzupassen.

import { defineConfig } from '@capacitor/cli';

export default defineConfig({
  ios: {
    buildConfig: {
      environment: process.env.BUILD_ENV || 'development',
      configurations: {
        development: {
          signing: {
            debug: true,
            automaticProvisioning: true
          }
        },
        production: {
          signing: {
            release: true,
            provisioningProfile: 'dist/profile.mobileprovision'
          }
        }
      }
    }
  }
});

Sie können diese Einstellungen weiter anpassen, um Plattform-spezifische Anforderungen zu erfüllen.

Plattform-spezifische Builds

Um Builds für Android und iOS anzupassen, verwenden Sie folgende Struktur:

const platformConfig = {
  android: {
    buildType: process.env.BUILD_TYPE || 'debug',
    keystoreConfig: {
      path: process.env.KEYSTORE_PATH,
      password: process.env.KEYSTORE_PASSWORD,
      alias: process.env.KEYSTORE_ALIAS
    }
  },
  ios: {
    scheme: process.env.APP_SCHEME || 'App',
    xcodePreferences: {
      automaticSigning: false,
      developmentTeam: process.env.DEVELOPMENT_TEAM
    }
  }
};

Diese Konfigurationen ermöglichen Ihnen, die Builds für jede Plattform anzupassen, um glattere Bereitstellungen zu gewährleisten.

Feature Android iOS
Debugelemente ProGuard mapping files DSYM-Dateien
Build-Varianten debug, release, staging debug, Release
Code Signierung Keystore-Verwaltung Provisionierungsprofile
Asset-Verwaltung res/drawable-Optimierung Asset-Kataloge

Zusätzliche Tipps zur Optimierung Ihrer Builds umfassen:

  • Mit partiellen Updates Zeit bei Bereitstellungen sparen
  • Einrichten von Fehlermeldungen, um Probleme schnell zu identifizieren
  • Erstellen von Kanal-Systemen für die Beta-Testversionen
  • Aktivieren der Ende-zu-Ende-Verschlüsselung für sichere Verteilung

Wenn Sie diese Techniken mit Werkzeugen wie Capgo für Analysen und sichere Updates kombinieren, haben Sie mehr Kontrolle über Ihren Bereitstellungsprozess [1].

Build-Script-Probleme & Lösungen

Wenn Sie mit benutzerdefinierten Build-Konfigurationen arbeiten, ist es wichtig, Fehler schnell zu lösen, um den Build-Prozess reibungslos laufen zu lassen.

Fixe häufige Fehler

Viele Probleme mit Build-Skripten gehen auf Umgebungs-Setup oder Abhängigkeitsprobleme zurück. Hier erfahren Sie, wie Sie einige häufige Probleme lösen können:

Fehlende Umgebungsvariablen

Wenn Sie einen Fehler wie diesen begegnen:

error: Cannot find environment configuration for BUILD_ENV

Sie können ihn beheben, indem Sie ein .env.local Datei in der Root-Verzeichnis Ihres Projekts erstellen. Hier ist ein Beispiel:

BUILD_ENV=development
CAPACITOR_PLATFORM=ios
BUILD_TYPE=debug

Plattformspezifische Build-Fehler

Für Android-Signierungsfehler verwenden Sie diesen Befehl:

npx cap build android --keystorePassword=$KEYSTORE_PASSWORD --keystoreAlias=$KEYSTORE_ALIAS

Für iOS-Provisioning-Profil-Probleme versuchen Sie es mit diesem:

npx cap build ios --configuration=release --type=development
Fehlerart Häufige Ursache Lösung
Signierungs-Konfiguration Keystore-Daten fehlen Setzen KEYSTORE_PATH und Zugangsdaten
Build-Umgebung Ungewisse Variablen Erstellen Sie plattform-spezifische .env Dateien
Abhängigkeiten Versionen stimmen nicht überein Update package.json synchronisieren

After applying fixes, ensure your changes are solid by running thorough build tests.

Test Build Scripts

Validieren Sie Ihre Build-Skripte mit diesen Schritten, sobald die Fehler behoben sind:

  • Automatisierte Überprüfung: Run key commands to confirm the build process works as expected.
npm run build
npx cap sync
npx cap copy
  • UmweltvalidierungÜberprüfen Sie vor dem Starten des Builds auf fehlende Umgebungsvariablen.
const requiredVars = ['BUILD_ENV', 'KEYSTORE_PATH'];
requiredVars.forEach(varName => {
  if (!process.env[varName]) {
    throw new Error(`Missing required env var: ${varName}`);
  }
});
  • Build-Skript-DebuggingFügen Sie detaillierte Skripte hinzu, um potenzielle Probleme während des Builds zu fangen.
{
  "scripts": {
    "build:debug": "NODE_ENV=development npx cap build --verbose",
    "build:release": "NODE_ENV=production npx cap build --verbose"
  }
}

Zusätzliche Tipps zum Testen:

  • Use Docker Container, um Builds zu isolieren.
  • Überprüfen Sie die Konfigurationsdateien vor Beginn des Prozesses.
  • Testen Sie mit mehreren Node.js Versionen.
  • Confirm platform-specific requirements are met.
  • Beachten Sie die Build-Leistung für mögliche Verbesserungen.

Capgo __CAPGO_KEEP_0__

Capgo Live Update Dashboard-Interface

Capgo bringt Build-Skripte auf ein neues Level mit automatisierter Bereitstellung, was die Effizienz erhöht und den Prozess vereinfacht.

Rasche Anwendungsaktualisierungen

Capgo’s Aktualisierungsleistung ist beeindruckend:

  • 95% der aktiven Nutzer erhalten Updates innerhalb von 24 Stunden.
  • 82% Erfolgsrate für die weltweite Lieferung von Updates.
  • Eine durchschnittliche API Antwortzeit von 434ms weltweit.

Die Plattform verwendet partielle Updates, was bedeutet, dass nur die Änderungen heruntergeladen werden. Diese Vorgehensweise reduziert den Bandbreitenverbrauch und beschleunigt den Updateprozess. Zudem ist der gesamte Buildprozess vollautomatisiert, was Zeit und Mühe spart.

Automatisierte Build-Prozesse

Capgo funktioniert reibungslos mit den großen CI/CD-Plattformen, bietet eine Vielzahl von Integrationsmöglichkeiten.

CI/CD-Plattform Integrationseigenschaften Vorteile
GitHub Aktionen Automatisierte Builds, Deploy-Trigger Kontinuierliche Bereitstellung
GitLab CI Pipeline-Automatisierung, Versionskontrolle Gestrafter Workflow
Jenkins Benutzerdefinierte Workflows, Build-Hooks Skalierbar für Unternehmen

Die Einrichtung eines automatisierten Builds kostet typischerweise etwa $300 pro Monatwas deutlich budgetfreundlicher ist im Vergleich zu traditionellen Lösungen, die bis zu $6,000 jährlich.

Sicherheitsstandards

Capgo legt den Schwerpunkt auf Sicherheit mit einem robusten Framework, das umfasst:

  • End-to-End-Verschlüsselung für Update-Pakete.
  • Sichere Schlüsselverwaltung.
  • Einhaltung der Richtlinien von Apple und Google.

Features für Versionskontrolle

  • Optionen für sofortige Rückkehr.
  • Verfolgung der Versionsnummer bei der Bereitstellung.
  • Verwaltung von Update-Kanälen für gestufte Releases.

Dieses Sicherheitsframework wurde sorgfältig über Hunderte von Unternehmen-Anwendungen getestet. Für Teams, die zusätzliche Sicherheit benötigen, bietet Capgo auch selbst gehostete Lösungen mit anpassbaren Konfigurationen.

Capgo's Kanal-System macht die Verteilung von Updates flexibel. Entwickler können spezifische Benutzergruppen mit verschiedenen Versionen ansprechen, ideal für Beta-Tests oder schrittweise Releases.

Zusammenfassung

Übersicht der Build-Schritte

Benutzerdefinierte Build-Skripte ermöglichen automatisierte und konsistente Bereitstellungen, indem sie Build-Hooks, Umgebungsvariablen und plattform-spezifische Befehle nutzen. Diese Prozesse bilden eine solide Grundlage für die Verbesserungen der Bereitstellung, die mit Capgo möglich sind.

Capgo-Vorteile

Capgo vereinfacht die Bereitstellung und hat bereits über 23,5 Millionen Updates in 750 Produktionsanwendungen erfolgreich geliefert. [1]Sein teilweiser Update-System reduziert sowohl den Bandbreitenverbrauch als auch die Bereitstellungszeit.

Die Plattform bietet schnelle Updates, globale Leistungsanpassungen, Ende-zu-Ende-Verschlüsselung für die Sicherheit und ein flexibles, kanalbasiertes Verteilungssystem. Diese Konfiguration unterstützt gezielte Updates, Beta-Tests und die Einhaltung von Richtlinien der App-Stores, während ein starkes Sicherheitsframework beibehalten wird.

Gehe weiter von Wie man Build-Skripte mit Capacitor CLI anpasst.

Wenn du __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ verwendest Wie man Build-Skripte mit Capacitor CLI anpasst um die CI/CD-Automatisierung zu planen, mit ihr zu verbinden Capgo CI/CD für den Produktworkflow in Capgo CI/CD Capgo nativee Builds für den Produktworkflow in Capgo Native Builds Capgo Integrations für den Produktworkflow in Capgo Integrations CI/CD-Integration für die Implementierungsdetails in CI/CD-Integration und GitHub Actions-Integration für die Implementierungsdetails in GitHub Actions-Integration

Live-Updates für Capacitor-Anwendungen

Wenn ein Web-Schicht-Bug live ist, liefern Sie die Reparatur über Capgo anstatt Tage für die Genehmigung durch den App-Store zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.