CI/CD-Integration
Kopieren Sie einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
Durch die Integration von Capgo in Ihren CI/CD-Pipeline können Sie den gesamten Prozess der Erstellung und Bereitstellung von Updates für Ihre App vollständig automatisieren. Durch die Nutzung der Capgo CLI und semantic-release können Sie sicherstellen, dass die Bereitstellung konsistent und zuverlässig ist und eine schnelle Iteration ermöglichen.
Vorteile der CI/CD-Integration
Abschnitt mit dem Titel “Vorteile der CI/CD-Integration”-
Automatisierung: Keine manuellen Schritte mehr oder Raum für menschliche Fehler. Ihr gesamtes Build-, Test- und Bereitstellungsprozess kann von Anfang bis Ende automatisiert werden.
-
Konsistenz: Jede Bereitstellung folgt dem gleichen Satz von Schritten, was eine vorhersehbare und wiederholbare Prozess garantiert. Dies ist insbesondere wertvoll, wenn mehrere Teammitglieder an der code beteiligt sind.
-
Schnellere Iterationen: Mit automatisierten Bereitstellungen können Sie Updates häufiger und mit Vertrauen bereitstellen. Keine Wartezeit mehr für manuelle QA oder Freigabe.
Capgo CLI
Abschnitt mit dem Titel “Capgo CLI”Das Capgo CLI ist der Schlüssel zur Integration von Capgo in Ihren CI/CD-Workflow. Es bietet Befehle zum Hochladen neuer Bundle-Versionen, zum Verwalten von Kanälen und mehr.
Der wichtigste Befehl für die CI/CD-Integration ist bundle upload:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEYWenn Sie Verschlüsselung verwenden, sollten Sie sie von einer dieser Wege bereitstellen:
Mithilfe eines privaten Schlüsseldateipfads:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-v2 PRIVATE_KEY_PATHMithilfe des privaten Schlüsselinhalt direkt (empfohlen für CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 PRIVATE_KEY_CONTENTMithilfe von Umgebungsvariablen (empfohlene Praxis für CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"Einstellung von Umgebungsvariablen für Verschlüsselung
Abschnitt mit dem Titel „Einstellung von Umgebungsvariablen für Verschlüsselung“Für CI/CD-Umgebungen wird empfohlen, Ihren privaten Schlüssel als Umgebungsvariable zu speichern und nicht als Datei. Hier ist, wie Sie es einrichten können:
-
Holen Sie sich den Inhalt Ihres privaten Schlüssels:
Terminal-Fenster cat .capgo_key_v2 | pbcopyDies kopiert den Schlüsselinhalt in Ihre Zwischenablage.
-
Fügen Sie ihn in Ihre CI/CD-Umgebung ein:
- GitHub Aktionen: Hinzufügen
CAPGO_PRIVATE_KEYzu Ihren Repository-Secrets - GitLab CI: Fügen Sie ihn als maskierte Variable in Ihren Projekt-Einstellungen hinzu
- CircleCIFügen Sie es als Umgebungsvariable in Ihren Projekt-Einstellungen hinzu
- JenkinsFügen Sie es als geheimes Textkonto ein
- GitHub Aktionen: Hinzufügen
-
Verwenden Sie es in Ihrer Pipeline:
- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
HinweisDie Flag --key-data-v2 erlaubt Ihnen, den privaten Schlüsselinhalt direkt als Zeichenkette zu übergeben, was sie perfekt für Umgebungsvariablen in CI/CD-Pipelines macht, in denen Sie keine temporären Dateien erstellen möchten.
Diese Befehl lädt die aktuelle Webanwendung in den angegebenen Kanal hoch. Sie führen diesen Befehl typischerweise als letztes Schritt in Ihrer CI/CD-Pipeline aus, nachdem Ihre Webanwendung erfolgreich abgeschlossen wurde.
Einrichten von Capgo in Ihrer CI/CD-Pipeline
Überschrift: Einrichten von Capgo in Ihrer CI/CD-PipelineWährend die genauen Schritte je nach Ihrer CI/CD-Werkzeugwahl variieren, sieht die allgemeine Prozedur zur Integration von Capgo ungefähr so aus:
-
Erstelle einen API-Schlüssel: Melden Sie sich im Capgo-Dashboard an und erstellen Sie einen neuen API-Schlüssel. Dieser Schlüssel wird zur Authentifizierung des CLI in Ihrem CI/CD-Umgebung verwendet. Halten Sie ihn geheim und vermeiden Sie es, ihn in Ihrem Repository zu committen!
-
Konfigurieren Sie die
bundle uploadBefehl: Fügen Sie einen Schritt zu Ihrer CI/CD-Konfiguration hinzu, der denbundle uploadBefehl mit den entsprechenden Argumenten ausführt:\n Ersetzen Sieupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productionmit dem Kanal, den Sie bereitstellen möchten,${{ secrets.CAPGO_API_KEY }}mit dem Umgebungsvariablen, der Ihren API-Schlüssel enthält, und fügen Sie--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"hinzu, wenn Sie Verschlüsselung verwenden. -
Fügen Sie den Schritt nach Ihrem Web-Build hinzu
uploadSchritt nach Ihrem Web-Build: Stellen Sie sicher, dass der Schritt nach Ihrem Web-Build erfolgreich abgeschlossen wurde. Dadurch stellen Sie sicher, dass Sie immer Ihre neuesten __CAPGO_KEEP_0__ bereitstellen.uploadstep comes after your web build has completed successfully. This ensures you’re always deploying your latest code.\n Here’s an example configuration for GitHub Actions:\nupload.yml name: Deploy to Capgoon:push:branches: [main]jobs:deploy:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v6- uses: actions/setup-node@v6with:node-version: '24'- run: npm ci- run: npm run build- run: npm install -g @capgo/cli- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
Versionenverwaltung mit Semantic-release
Abschnitt mit dem Titel “Versionenverwaltung mit Semantic-release”Die empfohlene Methode zur Verwaltung von Versionen mit Capgo besteht darin, die Version in Ihrem capacitor.config.ts Datei durch Importieren von package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}Mit dieser Methode können Sie:
- Verwenden Sie semantic-release (oder jede andere Tool) zum Aktualisieren der
package.jsonversion - Bauen Sie Ihre App mit der aktualisierten Version automatisch enthalten
- Laden Sie die Bundle mit der richtigen Version hoch
Ihr CI/CD-Workflow würde wie folgt aussehen:
- run: npm ci- run: npx semantic-release # Updates package.json version- run: npm run build # Builds with new version from capacitor.config- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Hier ist ein Beispiel .releaserc Konfigurationsdatei für semantic-release:
{ "branches": [ "main", { "name": "beta", "prerelease": true } ], "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", "@semantic-release/changelog", [ "@semantic-release/git", { "assets": ["CHANGELOG.md", "package.json"], "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" } ] ]}Diese Konfiguration tut Folgendes:
- Analysiert die Commit-Nachrichten, um die nächste Versionsnummer zu bestimmen, basierend auf der Conventional Commits-Spezifikation.
- Erstellt Release-Notizen auf der Grundlage der Commits seit der letzten Veröffentlichung.
- Aktualisiert
CHANGELOG.mdDatei mit den neuen Release-Hinweisen aktualisiert. - Aktualisiert
package.jsondie Version, die von Ihrem capacitor.config. aufgenommen wird. - Committet die aktualisierten
CHANGELOG.md,package.json, und alle anderen geänderten Dateien wieder in den Repository.
Stellen Sie sicher, dass Sie semantic-release vor der Erstellung Ihrer App ausführen, damit die aktualisierte Version von package.json in Ihrer Build durch den capacitor.config. enthalten ist.
Fehlerbehebung
Abschnitt mit dem Titel “Fehlerbehebung”Wenn Sie Probleme mit Ihrer Capgo CI/CD-Integration haben, überprüfen Sie bitte folgende Dinge:
-
API Schlüssel: Stellen Sie sicher, dass Ihre API-Schlüssel gültig und die notwendigen Berechtigungen besitzt. Wenn Sie eine Umgebungsvariable verwenden, überprüfen Sie, ob sie korrekt eingestellt ist.
-
CLI-Version: Stellen Sie sicher, dass Sie die neueste Version der Capgo- CLI-Version verwenden. Ältere Versionen können Kompatibilitätsprobleme oder fehlende Funktionen aufweisen.
-
Build-Artikel: Bestätigen Sie, dass Ihre Web-Ausgabe die erwarteten Ausgabedateien erzeugt. Die Capgo- CLI-Version benötigt eine gültige Web-Ausgabe, um eine Bundle zu erstellen.
-
Netzwerkverbindung: Überprüfen Sie, ob Ihr CI/CD-Umgebung Zugriff auf die Capgo-Server hat. Firewall- oder Proxy-Probleme können manchmal mit der Ausführung des Befehls interferieren.
uploadKommando
: Wenn Sie weiterhin Schwierigkeiten haben, wenden Sie sich an das Capgo-Support-Team für Unterstützung. Sie können Ihnen bei der Behebung von Problemen mit Ihrer spezifischen Konfiguration helfen.
Schlussfolgerung
Abschnitt mit dem Titel “Schlussfolgerung”Die Integration von Capgo in Ihre CI/CD-Pipeline mit einer ordnungsgemäßen Versionsverwaltung kann Ihren Entwicklungsworkflow erheblich beschleunigen. Durch die Automatisierung Ihrer Bereitstellungen und Versionsverwaltung über die capacitor.config-Ansatz können Sie Updates schneller und mit mehr Vertrauen bereitstellen.
Die empfohlene Methode zur Festlegung der Version in Ihrem capacitor.config.ts Dateien und die Verwendung von semantic-release, um zu aktualisieren package.json bietet eine robuste und zuverlässige Bereitstellungsvorgang, der Ihnen ermöglicht, sich auf das Bauen von großartigen Funktionen zu konzentrieren, anstatt sich um manuelle Release-Schritte zu kümmern.
Für weitere Informationen zu den Capgo CLI Befehlen und Optionen, besuchen Sie die CLI Referenz. Und für eine tiefergehende Einführung in die Konfiguration von semantic-release, siehe die semantic-release Dokumentation.
Freue dich auf das Bereitstellen!