CI/CD-Integration
Eine Einrichtungsvorlage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Die Integration von Capgo in Ihren CI/CD-Pipeline ermöglicht es Ihnen, 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öglicht.
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 Bereitstellungsprozess kann von Anfang bis Ende automatisiert werden.
-
Konsistenz: Jede Bereitstellung folgt dem gleichen Satz von Schritten, was eine vorhersehbare und wiederholbare Prozess sicherstellt. Dies ist besonders wertvoll, wenn Sie mehrere Teammitglieder haben, die code beitragen.
-
Schnellere Iterationen: Durch automatisierte Bereitstellungen können Sie Updates häufiger und mit Vertrauen bereitstellen. Keine mehr Wartezeit für manuelle QA oder Freigabe.
Capgo CLI
Abschnitt mit dem Titel “Capgo CLI”Der Capgo CLI ist der Schlüssel zur Integration von Capgo in dein CI/CD-Workflow. Er bietet Befehle für das Hochladen neuer Bundle-Versionen, das 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 du Verschlüsselung verwendest, solltest du sie aus einer dieser Quellen bereitstellen:
Mit einem privaten Schlüsseldateipfad:
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-v2 PRIVATE_KEY_PATHMit dem direkten Inhalt des privaten Schlüssels (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 ihn Ihrer CI/CD-Umgebung hinzu:
- GitHub Aktionen: Fügen Sie hinzu
CAPGO_PRIVATE_KEYzu Ihren 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 Textkredenzial hinzu
- GitHub Aktionen: Fügen Sie hinzu
-
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 es 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.
Diese Anweisung lädt die aktuelle Webanwendung in den angegebenen Kanal hoch. Sie führen diese Anweisung 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“Obwohl 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 zum Authentifizieren 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 zu Ihrer CI/CD-Konfiguration hinzu, der denbundle uploadBefehl mit den entsprechenden Argumenten ausführt:\n Ersetzenupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productionmit dem Kanal, zu dem Sie deployen 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:\n\n Hier 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 }}"
Zur Zwischenablage kopieren
Versionverwaltung mit Semantic-releaseDie empfohlene Methode zur Verwaltung der Versionsnummer mit Capgo besteht darin, die Versionsnummer 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 Vorgehensweise ermöglicht Ihnen:
- Semantic-release (oder jede andere Werkzeug) verwenden, um die
package.jsonVersionsnummer zu aktualisieren - Ihre App mit der aktualisierten Versionsnummer automatisch einbauen
- Die Bundle mit der richtigen Versionsnummer 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 }}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 folgende Aktionen aus:
- Analytisiert Commit-Nachrichten, um die nächste Versionsnummer basierend auf der Conventional Commits-Spezifikation zu bestimmen.
- Erstellt Release-Notizen basierend auf den Commits seit der letzten Veröffentlichung.
- Aktualisiert das
CHANGELOG.mdDatei mit den neuen Release-Notizen. - Aktualisiert die
package.jsonVersionsnummer, die von Ihrem capacitor.config. abgerufen wird. - Kommt die aktualisierte
CHANGELOG.md,package.json, und alle anderen geänderten Dateien zurück in den Repository.
Stellen Sie sicher, dass Sie semantic-release vor der Erstellung Ihres Apps ausführen, damit die aktualisierte Versionsnummer von Ihrem __CAPGO_KEEP_0__.config. aufgenommen wird. package.json wird in Ihrem Build über die capacitor.config. aufgenommen.
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 Ihr API-Schlüssel gültig ist und die erforderlichen Berechtigungen hat. Wenn Sie ein Umgebungsvariable verwenden, überprüfen Sie bitte, dass es korrekt eingestellt ist.
-
CLI-Version: Stellen Sie sicher, dass Sie die neueste Version des Capgo CLI verwenden. Ältere Versionen können Kompatibilitätsprobleme oder fehlende Funktionen haben.
-
Build-Artikel: Bestätigen Sie, dass Ihr Web-Build die erwarteten Ausgabedateien generiert. Das Capgo CLI benötigt einen gültigen Web-Build, um einen Bundle zu erstellen.
-
Netzwerkverbindung: Überprüfen Sie, ob Ihr CI/CD-Umgebung Zugriff auf die Capgo-Server hat. Feuerwall- oder Proxy-Probleme können manchmal mit der Verbindung interferieren.
uploadcommand.
Wenn Sie weiterhin Schwierigkeiten haben, wenden Sie sich bitte an den Capgo-Support, um Unterstützung zu erhalten. Sie können dabei helfen, Probleme mit Ihrer spezifischen Konfiguration zu lösen.
Zusammenfassung
Abschnitt mit dem Titel „Zusammenfassung“Die Integration von Capgo in Ihren 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 Vorgehensweise besteht darin, die Version in Ihrem capacitor.config.ts Datei und die Verwendung von semantic-release, um package.json zu aktualisieren, bietet einen robusten und zuverlässigen 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 semantic-release-Konfiguration, sehen Sie sich bitte die semantic-release-Dokumentation an.
Glückwunsch beim Bereitstellen!