CI/CD-Integration
Eine Setup-Vorlage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Integriert Capgo in Ihren CI/CD-Pipeline, um den gesamten Prozess der Erstellung und Bereitstellung von Updates für Ihre App vollautomatisieren zu können. 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öglicht.
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 gesamter Build-, Test- und Bereitstellungsprozess kann von Anfang bis Ende automatisiert werden.
-
Einhaltung von Standards: Jede Bereitstellung folgt demselben Satz von Schritten, was eine vorhersehbare und wiederholbare Prozess garantiert. Dies ist besonders wertvoll, wenn mehrere Teammitglieder an code arbeiten.
-
Schnellere Iterationen: Mit automatischen Bereitstellungen können Sie Updates häufiger und mit Vertrauen bereitstellen. Keine mehr Warte auf manuelle QA oder Freigabe genehmigungen.
Capgo CLI
Abschnitt mit Titel “Capgo CLI”Der Capgo CLI ist der Schlüssel zur Integration von Capgo in Ihr CI/CD-Workflow. Er 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 aus einer dieser Quellen 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_CONTENTVerwendung 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:
Terminalfenster cat .capgo_key_v2 | pbcopyDies kopiert den Schlüsselinhalt in Ihre Zwischenablage.
-
Fügen Sie es in Ihrem CI/CD-Umgebung ein:
- GitHub Aktionen: Fügen Sie
CAPGO_PRIVATE_KEYzur Ihren Repository-Secrets hinzu - 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 Text-Zertifikat hinzu
- GitHub Aktionen: Fügen Sie
-
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 }}"
Hinweis: Die --key-data-v2 Flag ermöglicht Ihnen, den privaten Schlüsselinhalt direkt als Zeichenfolge zu übergeben, was sie ideal 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.
Capgo in Ihrer CI/CD-Pipeline einrichten
Sektion mit dem Titel „Capgo in Ihrer CI/CD-Pipeline einrichten“Obwohl die genauen Schritte je nach Ihrer CI/CD-Werkzeugwahl variieren, sieht die allgemeine Prozedur für die Integration von Capgo wie folgt aus:
-
API-Schlüssel generieren: Melden Sie sich bei der Capgo-Oberfläche an und erstellen Sie einen neuen API-Schlüssel. Dieser Schlüssel wird zum Authentifizieren des CLI in Ihrer CI/CD-Umgebung verwendet. Halten Sie ihn geheim und vermeiden Sie es, ihn in Ihrem Repository zu committen!
-
__CAPGO_KEEP_3__-Befehl konfigurieren
bundle upload__CAPGO_KEEP_3__-Befehl: Fügen Sie einen Schritt zu Ihrer CI/CD-Konfiguration hinzu, der denbundle uploadBefehl mit den entsprechenden Argumenten:\n Ersetzenupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productionmit dem Kanal, zu dem Sie bereitstellen möchten,${{ secrets.CAPGO_API_KEY }}mit der Umgebungsvariable, die Ihren API-Schlüssel enthält, und fügen Sie--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"falls Sie Verschlüsselung verwenden. -
Fügen Sie den
uploadSchritt nach Ihrem Web-Build hinzu:Stellen Sie sicher, dass deruploadstep 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:\nHier ist ein Beispielkonfiguration für __CAPGO_KEEP_1__ Actions:\n 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 }}"
Versionsverwaltung mit Semantic-release
Abschnitt mit dem Titel „Versionsverwaltung mit Semantic-release“Die empfohlene Methode zur Verwaltung von Versionen mit Capgo besteht darin, die Version in Ihrem capacitor.config.ts Datei festzulegen, indem Sie sie von package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}Diese Methode ermöglicht Ihnen:
- Semantic-release (oder jede andere Werkzeug) zu verwenden, um die
package.jsonVersion - Automatisch Ihre App mit der aktualisierten Version zu bauen
- Die Bundle mit der korrekten Version hochzuladen
Dein 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 führt Folgendes aus:
- Analytisiert die Commit-Nachrichten, um die nächste Versionsnummer zu bestimmen, basierend auf der Conventional Commits-Spezifikation.
- Erstellt Release-Hinweise auf der Grundlage der Commits seit der letzten Veröffentlichung.
- Aktualisiert das
CHANGELOG.mdDatei mit den neuen Release-Hinweisen. - Aktualisiert die
package.jsonVersionsnummer, die von Ihrem capacitor.config aufgenommen wird. - Kommt die aktualisierte
CHANGELOG.md,package.json, und alle anderen geänderten Dateien zurück in das Repository.
Stellen Sie sicher, dass Sie semantic-release vor der Erstellung Ihrer App ausführen, damit die aktualisierte Version in Ihrer __CAPGO_KEEP_0__.config enthalten ist. package.json Auto-bump, wenn die lokale Version bereits auf capacitor ist
Abschnitt mit dem Titel “Auto-bump, wenn die lokale Version bereits auf Capgo ist”
Die Namen der Bundles müssen eindeutig sein (gelöschte Versionen beanspruchen immer noch ihren Namen). Wenn der CI immer noch die gleiche Version hochlädt, schlägt die Upload-Funktion fehl. Es ist besser, Capgo zu verwenden (z.B. mit semantic-release). Wenn das nicht praktikabel ist, lässt der Capgo den nächsten freien Semver aus dem kanalverbundenen Bundle wählen oder den letzten Remote-App-Version:Terminal-Fenster package.json Zurücksetzen in die Zwischenablage package.json verwendet CLI __CAPGO_KEEP_1__ Workers AI, um die lokalen Bundle-Dateien gegenüber der vorherigen __CAPGO_KEEP_2__/Kanal-Delta-Manifest abzugleichen, CLI
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 uses Capgo Cloudflare Workers AI to compare local bundle files against the previous Capgo/channel delta manifest, pick major | minor | patch | metadata, and print a short reason. With no previous Capgo version, AI is skipped and the bump is Patch.
Vermeiden Sie die Combination --auto-bump mit --bundle / -b. Siehe die bundle upload Referenz für die vollständige Liste der Optionen.
Fehlerbehebung
Abschnitt mit dem Titel "Fehlerbehebung"Wenn Sie Probleme mit Ihrer CI/CD-Integration von Capgo haben, überprüfen Sie bitte die folgenden Punkte:
-
API-Schlüssel: Stellen Sie sicher, dass Ihr API-Schlüssel gültig ist und die erforderlichen Berechtigungen hat. Wenn Sie einen Umgebungsvariablen verwenden, überprüfen Sie bitte, dass sie korrekt eingestellt ist.
-
CLI-Version: Stellen Sie sicher, dass Sie die neueste Version von Capgo CLI verwenden. Ältere Versionen können Kompatibilitätsprobleme oder fehlende Funktionen haben.
-
Build-Artikel: Bestätigen Sie, dass Ihre Web-Ausgabe die erwarteten Ausgabedateien generiert. Capgo CLI benötigt eine gültige Web-Ausgabe, um ein 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.
uploadWenn Sie weiterhin Schwierigkeiten haben, wenden Sie sich an __CAPGO_KEEP_0__-Support, um Hilfe zu erhalten. Sie können bei der Behebung von Problemen mit Ihrer spezifischen Konfiguration unterstützt werden.
If you’re still having trouble, reach out to Capgo support for assistance. They can help troubleshoot any issues with your specific setup.
Abschnitt mit dem Titel "Zusammenfassung"
Die Integration von __CAPGO_KEEP_0__ in Ihre CI/CD-Pipeline mit korrekter Versionsverwaltung kann Ihren Entwicklungsworkflow erheblich beschleunigen. Durch die Automatisierung Ihrer Bereitstellungen und Versionsverwaltung über die __CAPGO_KEEP_1__.config-Ansatz können Sie Updates schneller und mit mehr Vertrauen bereitstellen.Integrating Capgo into your CI/CD pipeline with proper version management can greatly streamline your development workflow. By automating your deployments and versioning through the capacitor.config approach, you can ship updates faster and with more confidence.
Datei und die Aktualisierung mit semantic-release zu verwenden capacitor.config.ts file package.json bietet eine robuste und zuverlässige Bereitstellungsprozess, 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 Details zu den Capgo CLI-Befehlen und Optionen, besuchen Sie bitte die CLI-Referenz. Und für eine tiefergehende Einführung in die Konfiguration von semantic-release, sehen Sie sich die semantic-release-Dokumentation.
an. Viel Erfolg beim Bereitstellen!
Fortsetzung von CI/CD-Integration
Abschnitt mit Titel „Fortsetzung von CI/CD-Integration“Wenn Sie CI/CD-Integration context Capgo CI/CD für den Produktworkflow in Capgo CI/CD Capgo Native Builds für den Produktworkflow in Capgo Native Builds Capgo Integrations für den Produktworkflow in Capgo Integrations GitHub Actions Integration für die Implementierungsdetails in GitHub Actions Integration, und GitLab CI/CD-Integration für die Implementierungsdetails in GitLab CI/CD-Integration.