CI/CD-Integration
Ein Setup-Prompt mit den Installations-Schritten und der vollständigen Markdown-Anleitung für diesen Plugin kopieren.
Integrieren Sie Capgo in Ihren CI/CD-Pipeline, um den gesamten Prozess der Erstellung und Bereitstellung von Updates für Ihre App vollständig zu automatisieren. Durch die Nutzung der Capgo CLI und semantic-release können Sie sichergehen, 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 oder Raum für menschliche Fehler mehr. Ihr gesamter Build-, Test- und Bereitstellungsvorgang kann von Anfang bis Ende automatisiert werden.
-
Einheitlichkeit: Jeder Deploy folgt dem gleichen Satz von Schritten, was eine vorhersehbare und wiederholbare Prozess garantiert. Dies ist besonders wertvoll, wenn Sie mehrere Teammitglieder an der code beteiligen.
-
Schrittweise Verbesserungen: Mit automatisierten Deploys können Sie Updates häufiger und mit Vertrauen verschicken. Keine mehr Wartezeit für manuelle QA oder Freigabe.
Capgo CLI
Section titled “Capgo CLI”The Capgo CLI is the key to integrating Capgo into your CI/CD workflow. It provides commands for pushing new bundle versions, managing channels, and more.
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 aus einer dieser Quellen bereitstellen:
Verwendung eines privaten Schlüssel Dateipfads:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-v2 PRIVATE_KEY_PATHVerwenden Sie den Inhalt der privaten Schlüssel direkt (empfohlen für CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 PRIVATE_KEY_CONTENTVerwenden Sie Umgebungsvariablen (Best Practice für CI/CD):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"Umgebungsvariablen für die Verschlüsselung einrichten
Abschnitt mit dem Titel „Umgebungsvariablen für die Verschlüsselung einrichten“Für CI/CD-Umgebungen wird empfohlen, Ihren privaten Schlüssel als Umgebungsvariable zu speichern und nicht als Datei. Hier erfahren Sie, wie Sie ihn einrichten:
-
Erhalten Sie den Inhalt Ihres privaten Schlüssels:
Terminalfenster cat .capgo_key_v2 | pbcopyDies kopiert den Schlüsselinhalt in Ihre Zwischenablage.
-
Fügen Sie es in Ihre CI/CD-Umgebung ein:
- GitHub Aktionen: Hinzufügen
CAPGO_PRIVATE_KEYin Ihre Repository-Secrets - GitLab CI: Fügen Sie es als maskierte Variable in Ihren Projekt-Einstellungen hinzu
- CircleCI: Fügen Sie es als Umgebungsvariable in Ihren Projekt-Einstellungen hinzu
- Jenkins: Fügen Sie es als geheimes Textkonto hinzu
- GitHub Aktionen: Hinzufügen
-
Verwenden Sie es in Ihrem Pipeline:
- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"
Anmerkung: Die --key-data-v2 Flagge ermöglicht Ihnen, den privaten Schlüsselinhalt direkt als Zeichenfolge zu übergeben, was es perfekt für Umgebungsvariablen in CI/CD-Pipelines macht, in denen Sie keine temporären Dateien erstellen möchten.
Dieser 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
Abschnitt mit dem Titel „Einrichten von Capgo in Ihrer CI/CD-Pipeline“Während die genauen Schritte je nach Ihrer CI/CD-Werkzeugwahl variieren, sieht die allgemeine Prozedur für die Integration von Capgo wie folgt aus:
-
Erstellen Sie einen API-Schlüssel: Melden Sie sich bei der Capgo-Oberfläche an und erstellen Sie einen neuen API-Schlüssel. Dieser Schlüssel wird zur Authentifizierung der CLI in Ihrer CI/CD-Umgebung verwendet. Bewahren Sie ihn geheim und vermeiden Sie es, ihn in Ihrem Repository zu committen!
-
Konfigurieren Sie die
bundle uploadBefehl: Fügen Sie einen Schritt in Ihrer CI/CD-Konfiguration hinzu, der denbundle uploadBefehl mit den geeigneten Argumenten ausführt:Ersetzenupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productiondurch den Kanal, zu dem Sie deployen möchten,${{ secrets.CAPGO_API_KEY }}durch die Umgebungsvariable, die Ihren API-Schlüssel enthält, und fügen Sie--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"hinzufügen, wenn Sie Verschlüsselung verwenden. -
Fügen Sie den
uploadSchritt nach Ihrem Web-Build hinzu: Stelle sicher, dass deruploadSchritt nach dem erfolgreichen Abschluss deiner Web-Build-Operation erfolgt. So stellst du sicher, dass du immer deine neuesten code bereitstellst.\n Hier ist ein Beispielkonfiguration für 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 }}"
Version Verwaltung mit Semantic-release
Abschnitt mit dem Titel “Version Verwaltung mit Semantic-release”Die empfohlene Methode zur Verwaltung von Versionsnummern mit Capgo besteht darin, die Versionsnummer in deinem capacitor.config.ts Datei festzulegen, indem du sie von package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}Mit dieser Methode kannst du:
- Semantic-release (oder jede andere Werkzeug) verwenden, um die
package.jsonversion - Mit der automatisch eingeschlossenen aktualisierten Version bauen Sie Ihre App
- Das Bundle mit der richtigen Version hochladen
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 }}Eine Beispielkonfigurationsdatei für semantic-release: .releaserc Diese Konfiguration führt Folgendes aus:
{ "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 führt folgende Aktionen aus:
- Erstellt Release-Notizen auf der Grundlage der Commits seit der letzten Veröffentlichung.
- Erstellt Release-Notizen auf der Grundlage der Commits seit der letzten Veröffentlichung.
- aktualisiert
CHANGELOG.mdKlicken Sie hier, um eine Beispielkonfiguration herunterzuladen - aktualisiert die
package.jsonVersion, die von Ihrem capacitor.config aufgenommen wird. - Commits die aktualisierte
CHANGELOG.md,package.json, und alle anderen geänderten Dateien wieder in das Repository.
Stellen Sie sicher, dass Sie semantic-release vor der Erstellung Ihrer App ausführen, damit die aktualisierte Version von package.json über die capacitor.config in Ihre Build einbezogen wird.
Auto-bump, wenn die lokale Version bereits auf Capgo ist
Sektion mit dem Titel “Auto-bump, wenn die lokale Version bereits auf Capgo ist”Die Namen der Pakete müssen eindeutig sein (gelöschte Versionen belegen noch ihren Namen). Wenn der CI immer noch die gleiche package.json version, the upload fails. Prefer bumping package.json (z.B. mit semantic-release) zu bumpen. Wenn das nicht praktikabel ist, lassen Sie das CLI die nächste freie Semver aus dem Kanal-Paket oder das letzte Remote-App-Update wählen:
npx @capgo/cli@latest bundle upload --channel=production --auto-bumpnpx @capgo/cli@latest bundle upload --auto-bump majornpx @capgo/cli@latest bundle upload --auto-bump minor # default when the flag has no valuenpx @capgo/cli@latest bundle upload --auto-bump patch # alias: fixnpx @capgo/cli@latest bundle upload --auto-bump metadatanpx @capgo/cli@latest bundle upload --channel=production --auto-bump ai--auto-bump ai verwendet Capgo Cloudflare Workers AI, um lokale Bundle-Dateien gegenüber den vorherigen Capgo/Kanal-Delta-Dateien zu vergleichen, auszuwählen major | minor | patch | metadataund eine kurze Begründung auszudrucken. Bei keinem vorherigen Capgo-Version wird die AI übersprungen und der Bump wird patch.
Kombinieren Sie nicht --auto-bump mit --bundle / -b. Siehe die bundle upload Referenz für die vollständige Optionenliste.
Fehlersuche
Abschnitt mit dem Titel „Fehlersuche“Wenn Sie Probleme mit Ihrer Capgo CI/CD-Integration haben, hier sind einige Dinge, die Sie überprüfen sollten:
-
API SchlüsselStellen Sie sicher, dass Ihre API-Schlüssel gültig und die notwendigen Berechtigungen besitzt. Wenn Sie ein Umgebungsvariable verwenden, überprüfen Sie, dass es korrekt eingestellt ist.
-
CLI Version: Stellen Sie sicher, dass Sie die neueste Version der Capgo CLI verwenden. Ältere Versionen können Kompatibilitätsprobleme oder fehlende Funktionen aufweisen.
-
Build-Artikel: Bestätigen Sie, dass Ihre Web-Ausgabe die erwarteten Ausgabedateien generiert. Die Capgo CLI 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. Feuerwalls- oder Proxy-Probleme können manchmal mit der Ausführung des Befehls interferieren.
uploadcommand.
Wenn Sie weiterhin Schwierigkeiten haben, wenden Sie sich bitte an den Capgo-Support, um Hilfe zu erhalten.
Conclusion
Section titled “Conclusion”Integrieren Sie Capgo in Ihrem CI/CD-Pipeline mit einer ordnungsgemäßen Versionsverwaltung, um Ihren Entwicklungsworkflow erheblich zu beschleunigen. Durch die Automatisierung Ihrer Bereitstellungen und Versionsverwaltung über die capacitor.config-Methode können Sie Updates schneller und mit größerer Zuverlässigkeit bereitstellen.
Die empfohlene Vorgehensweise besteht darin, die Version in Ihrem capacitor.config.ts Datei und verwenden Sie semantic-release, um zu aktualisieren package.json stellt einen robusten und zuverlässigen Bereitstellungsprozess bereit, der Ihnen ermöglicht, sich auf die Entwicklung 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 semantic-release-Konfiguration, sehen Sie sich die semantic-release-Dokumentation .
Glückwunsch beim Bereitstellen!
Viel Erfolg bei der Bereitstellung!
Section titled “Keep going from CI/CD Integration”Wenn Sie Live Update verwenden CI/CD-Integration um CI/CD zu planen, verbinden Sie es mit Capgo CI/CD Capgo für den Produktworkflow in Capgo CI/CD Capgo nativee native Builds Capgo für den Produktworkflow in Capgo Native Builds Capgo Integrations Capgo für den Produktworkflow in Capgo Integrations GitHub Aktionen-Integration GitHub für die Implementierungsdetails in GitHub Actions Integration, und GitLab CI/CD-Integration __CAPGO_KEEP_0__ für die Implementierungsdetails in GitLab CI/CD-Integration.