Zum Hauptinhalt springen

Wie Sie die Build-Skripte mit Capacitor CLI anpassen können

Erfahren 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.

Martin Donadieu

Martin Donadieu

Inhaltsmarketer

Wie Sie die Build-Skripte mit Capacitor CLI anpassen können

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

  • Schnellere UpdatesPushen Sie Änderungen sofort ohne App-Store-Verzögerungen.
  • Deployments steuernRollen Sie Updates zurück oder richten Sie bestimmte Benutzergruppen ein.
  • Sichern Sie Ihre AppVerwenden Sie Verschlüsselung, um Updates zu schützen.
  • Optimieren Sie BuildsPassen Sie die Einstellungen für Plattform-spezifische Bedürfnisse an.

Rasche Übersicht der Schlüsselfunktionen:

  • Konfigurationsdateien: Verwenden Sie 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.
  • Aufbau-Hooks: Führen Sie code während bestimmter Phasen des Aufbauprozesses aus.
  • Umgebungsvariablen: Vereinfachen Sie umgebungsabhängige Builds mit .env Dateien.

Capgo, ein Bereitstellungs-Tool, verbessert diesen Prozess mit automatischen Updates, Versionsverfolgung und globaler Leistungsoptimierung. Lesen Sie weiter, um zu erfahren, wie Sie Ihre Build-Skripte einrichten und anpassen können, um die Effizienz zu maximieren.

Einführung Capacitor Konfigurieren

Capacitor Framework Dokumentationswebsite

Standard-Build-Prozess in Capacitor

Ein Verständnis dafür, wie Capacitor seinen Standard-Build-Prozess handhabt, ist entscheidend, wenn Sie ihn effektiv anpassen möchten. Im Folgenden werden wir den Capacitor CLI-Build-Prozess und seine Schlüsselkonfigurationsdateien aufschlüsseln.

Standard-Bau-Schritte

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

Phase Beschreibung Ausgabe
Web Build Kompiliert Web-Assets mit Ihren Framework-Tools Optimierter Web-Bundle
Copy Assets Überträgt Web-Assets in native plattform-spezifische Ordner Plattform-spezifische Asset-Verzeichnisse
Native Build Ausführt plattform-spezifische Build-Befehle Bereitstellungsbinarys
Überprüfung Überprüft die Integrität der Build und der Abhängigkeiten Buildstatus und Warnungen

Hauptkonfigurationsdateien

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
    }
  }
}
  • appId : Eine eindeutige Identifikationsnummer für Ihre App.
  • appName : Der Name Ihrer App.
  • webDir : Legt fest, wo Capacitor nach den Web-Assets suchen soll (z.B. dist).
  • plugins : Ermöglicht die Konfiguration von Plugin-spezifischen Einstellungen, wie z.B. Optionen für den SplashScreen.

targetLanguage":"Deutsch","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"texts":["package.json","Dieses File enthält Build-Skripte und Abhängigkeiten, die den Build-Prozess beeinflussen:","Das","Einstellung in","erzählt __CAPGO_KEEP_0__ wo deine kompilierten Web-Assets für die Einbindung in die nativen Builds zu finden sind.","Nachdem du Änderungen an",",muss du","um sicherzustellen, dass deine nativen Projekte aktualisiert werden.","Als nächstes werden wir Ihnen zeigen, wie Sie diese Einstellungen anpassen können, um Ihre Builds noch weiter anzupassen.","Modifizierung von Build-Skripten","Du kannst die Standard- Build-Prozess von __CAPGO_KEEP_0__ anpassen, um ihn besser an deine Projektbedürfnisse anzupassen. Hier ist wie du das machst:","Konfigurationsdatei-Einstellungen"]
package.json

{
  "scripts": {
    "build": "npm run build:web && cap sync",
    "build:web": "vite build",
    "cap:build": "cap build"
  }
}
  • Dieses File enthält Build-Skripte und Abhängigkeiten, die den Build-Prozess beeinflussen: webDir Das Einstellung in erzählt __CAPGO_KEEP_0__ wo deine kompilierten Web-Assets für die Einbindung in die nativen Builds zu finden sind. capacitor.config.json tells Capacitor where to locate your compiled web assets for inclusion in the native builds.
  • Als nächstes werden wir Ihnen zeigen, wie Sie diese Einstellungen anpassen können, um Ihre Builds noch weiter anzupassen. capacitor.config.jsonModifizierung von Build-Skripten cap sync Du kannst die Standard- Build-Prozess von __CAPGO_KEEP_0__ anpassen, um ihn besser an deine Projektbedürfnisse anzupassen. Hier ist wie du das machst:

Konfigurationsdatei-Einstellungen

package.json

You can tweak Capacitor’s default build process to better suit your project needs. Here’s how:

Das Einstellung in erzählt __CAPGO_KEEP_0__ wo deine kompilierten Web-Assets für die Einbindung in die nativen Builds zu finden sind.

Sie können den Build-Prozess anpassen, indem Sie das capacitor.config.json Datei bearbeiten. 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
  }
}

Hier sind einige Schlüsselinstellungen, die Sie anpassen können:

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

Erstellung von NPM-Skripten

Um Ihren 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 des Builds.
  • build:platform: Plattformspezifische Befehle zum Erstellen von Android- oder iOS-Apps.

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

Einrichtung von Build-Hooks

Für eine fortgeschrittene Kontrolle verwenden Sie Build-Hooks, um benutzerdefinierte code an bestimmten Punkten während des Build-Prozesses 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:

  • Vor dem Start des Builds die Anforderungen überprüfen
  • Während des Prozesses Assets transformieren
  • Bei wichtigen Punkten Benachrichtigungen auslösen
  • Die Versionsnummern automatisch aktualisieren
  • Automatisierte Tests reibungslos durchführen

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

Erweiterte Build-Anpassungen

Bei der Arbeit an größeren Projekten kann die Feinabstimmung des Build-Prozesses einen großen Unterschied machen. Hier erfahren Sie, wie Sie Umgebungs-spezifische Builds und Plattform-Anpassungen effektiv handhaben können.

Umgebungsvariablen

Setze Umgebungsvariablen, indem du separate .env Dateien für jeden Umgebung erstellst:

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

Dann konfiguriere dein Build-Skript, um die entsprechende Datei auf der Grundlage der Umgebung zu laden:

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'
          }
        }
      }
    }
  }
});

Du kannst diese Einstellungen weiter anpassen, um Plattform-spezifische Anforderungen zu erfüllen.

Plattform-spezifische Builds

Um Builds für Android und iOS anzupassen, verwende die 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 dir, Builds für jede Plattform anzupassen, um glatteere Bereitstellungen zu gewährleisten.

Funktion Android iOS
Debug-Symbols ProGuard Mappingdateien dSYM-Dateien
Build-Varianten debug, Release, Staging debug, Release
Code Signierung Keystore-Verwaltung Zertifizierungsprofile
Asset-Verwaltung res/drawable-Optimierung Asset-Kataloge

Zusätzliche Tipps zur Optimierung Ihrer Builds umfassen:

  • Verwendung von Teilaktualisierungen, um Zeit während der Bereitstellung zu sparen
  • Einrichten von Fehlermeldungen, um Probleme schnell zu identifizieren
  • Erstellen von Kanalsystemen 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].

Probleme mit Build-Skripten & Lösungen

Bei der Arbeit mit benutzerdefinierten Build-Konfigurationen ist es wichtig, Fehler schnell zu lösen, um den Build-Prozess reibungslos laufen zu lassen

Gemeinsame Fehler beheben

Viele Probleme mit Build-Skripten rühren von der Einrichtung der Umgebung oder von Abhängigkeitsproblemen her. Hier erfahren Sie, wie Sie einige häufige Probleme angehen können:

Fehlende Umgebungsvariablen

Wenn Sie ein Fehler wie diesen begegnen:

error: Cannot find environment configuration for BUILD_ENV

Sie können es durch die Erstellung eines .env.local Dateis in der Wurzel Ihres Projekts reparieren. 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-Profile-Probleme versuchen Sie Folgendes:

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

Nachdem Sie die Korrekturen angewendet haben, stellen Sie sicher, dass Ihre Änderungen stabil sind, indem Sie gründliche Build-Tests durchführen.

Testen Sie Build-Skripte

Sobald die Fehler gelöst sind, überprüfen Sie Ihre Build-Skripte mit diesen Schritten:

  • Automatisierte Verifizierung: Führen Sie Tastenkombinationen aus, um sicherzustellen, dass der Aufbau wie erwartet funktioniert.
npm run build
npx cap sync
npx cap copy
  • Umgebungserkennung: Überprüfen Sie fehlende Umgebungsvariablen, bevor Sie den Aufbau starten.
const requiredVars = ['BUILD_ENV', 'KEYSTORE_PATH'];
requiredVars.forEach(varName => {
  if (!process.env[varName]) {
    throw new Error(`Missing required env var: ${varName}`);
  }
});
  • Build-Script-Debugging: Fügen Sie detaillierte Skripte hinzu, um potenzielle Probleme während des Aufbaus zu erkennen.
{
  "scripts": {
    "build:debug": "NODE_ENV=development npx cap build --verbose",
    "build:release": "NODE_ENV=production npx cap build --verbose"
  }
}

Zusätzliche Tipps zum Testen:

  • Verwenden Sie Docker Container, um Builds zu isolieren.
  • Überprüfen Sie die Konfigurationsdateien, bevor Sie den Prozess starten.
  • Testen Sie mit mehreren Node.js Versions.
  • Bestätigen Sie, dass die Plattform-spezifischen Anforderungen erfüllt sind.
  • Beobachten Sie die Leistung der Build-Performance für mögliche Verbesserungen.

Capgo Build Features

Capgo Live Update Dashboard Interface

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

Schnelle App-Updates

Capgo’s Update-Leistung ist beeindruckend:

  • 95% der aktiven Benutzer erhalten Updates innerhalb von 24 Stunden.
  • 82% Erfolgsrate Weltweit lieferbar.
  • 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 Builds

Capgo funktioniert reibungslos mit den wichtigsten CI/CD-Plattformen, wobei eine Vielzahl von Integrationsmöglichkeiten angeboten wird:

CI/CD-Plattform Integrationseigenschaften Vorteile
GitHub-Aktionen Automatisierte Builds, Deploy-Auslöser Kontinuierliche Bereitstellung
GitLab CI Automatisierung von Pipeline, Versionskontrolle Fließender Workflow
Jenkins Benutzerdefinierte Workflows, Build-Hooks Skalierbar für Unternehmen

Die Einrichtung eines automatisierten Builds kostet typischerweise 300 Euro pro Monat, was deutlich budgetfreundlicher ist im Vergleich zu traditionellen Lösungen, die bis zu 6.000 Euro jährlich.

Sicherheitsstandards

Capgo priorisiert die Sicherheit mit einem robusten Framework, das Folgendes umfasst:

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

Versionierungsmerkmale

  • Schnelle Rückschaltmöglichkeiten.
  • Verfolgung der Versionsnummer der Bereitstellung.
  • Update-Kanalverwaltung für gestufte Veröffentlichungen.

Diese 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 Veröffentlichungen.

Zusammenfassung

Übersicht über die Aufbau-Schritte

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

Capgo Vorteile

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

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

Bleiben Sie bei How to Customize Build Scripts mit Capacitor CLI

Wenn Sie " How to Customize Build Scripts mit Capacitor CLI " zum Planen der CI/CD-Automatisierung verwenden, verbinden Sie es mit " Capgo CI/CD for the product workflow in Capgo CI/CD, Capgo CI/CD for the product workflow 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 Aktionen-Integration für die Implementierungsdetails in GitHub Aktionen-Integration.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Web-Schicht lebt, liefern Sie die Reparatur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung genehmigt ist. Die Benutzer erhalten das Update im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Los geht's!

Neueste Beiträge aus unserem Blog

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