CI/CD-Integration
Kopieren Sie einen Einrichtungsvorschlag 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 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. Ihr gesamtes Build-, Test- und Deploy-Prozess kann von Anfang bis Ende automatisiert werden.
-
Einhaltung von Standards: Jedes Deployment folgt demselben Satz von Schritten, was eine vorhersehbare und wiederholbare Prozess sicherstellt. Dies ist besonders wertvoll, wenn mehrere Teammitglieder an der code beteiligt sind.
-
Schnellere Iterationen: Mit automatisierten Bereitstellungen können Sie Updates häufiger und mit Vertrauen verschicken. 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 Ihren CI/CD-Workflow. Er bietet Befehle für das Hochladen neuer Bundle-Versionen, das Management 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:
Mit einem privaten Schlüssel Dateipfad:
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_CONTENTMit 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 Verschlüsselung einzurichten
Sektion: Umgebungsvariablen für Verschlüsselung einrichtenFü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:
-
Erhalten Sie den Inhalt Ihres privaten Schlüssels:
Terminal-Fenster cat .capgo_key_v2 | pbcopyDies kopiert den Schlüsselinhalt in Ihre Zwischenablage.
-
Hinzufügen zu Ihrer CI/CD-Umgebung:
- GitHub Aktionen: Hinzufügen
CAPGO_PRIVATE_KEYzur Repository-Secrets - GitLab CI-Sekrete: 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 }}"
Hinweis: Die --key-data-v2 Flag ermöglicht es Ihnen, den privaten Schlüsselinhalt direkt als Zeichenfolge zu übergeben, was perfekt für Umgebungsvariablen in CI/CD-Pipelines geeignet ist, 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.
Einstellung von Capgo in Ihrer CI/CD-Pipeline
Einstellung von Capgo in Ihrem CI/CD-PipelineObwohl die genauen Schritte je nach Ihrer CI/CD-Werkzeugwahl variieren, sieht die allgemeine Prozedur zur 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 des CLI in Ihrem CI/CD-Umgebung verwendet. Behalten 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 der Umgebungsvariable, die Ihren API-Schlüssel enthält, und fügen Sie--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"wenn Sie Verschlüsselung verwenden. -
Fügen Sie den
uploadSchritt nach Ihrem Web-Build: 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: 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 }}"
Zwischenablage kopieren
Versionsverwaltung mit Semantic-releaseThe recommended way to handle versioning with Capgo is to set the version in your capacitor.config.ts Die empfohlene Methode zur Verwaltung von Versionsnummern mit __CAPGO_KEEP_0__ besteht darin, die Versionsnummer in Ihrem 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 - Ihre App mit der aktualisierten Version automatisch einbauen
- 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 }}Hier ist ein Beispiel für eine .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-Notizen auf der Grundlage der Commits seit der letzten Veröffentlichung.
- Datei mit den neuen Release-Notizen.
CHANGELOG.mdVersion, die von Ihrem __CAPGO_KEEP_0__.config. aufgenommen wird. - Die aktualisierten
package.jsonversion, which will be picked up by your capacitor.config. - Stellen Sie sicher, dass Sie semantic-release vor der Erstellung Ihres Apps ausführen, damit die aktualisierte Version von __CAPGO_KEEP_0__.config. in Ihrer Build enthalten ist.
CHANGELOG.md,package.jsonTroubleshooting
Abschnitt mit dem Titel 'Fehlerbehebung' package.json Stellt sicher, dass die Version von capacitor.config. in Ihrer Build enthalten ist.
Stellt sicher, dass die Version von __CAPGO_KEEP_0__.config. in Ihrer Build enthalten ist.
Stellt sicher, dass die Version von __CAPGO_KEEP_0__.config. in Ihrer Build enthalten ist.If Sie Probleme mit Ihrer Capgo CI/CD-Integration 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 ein Umgebungsvariable verwenden, überprüfen Sie bitte, 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 haben.
-
Build-Artikel: Bestätigen Sie, dass Ihre Web-Ausführung die erwarteten Ausgabedateien generiert. Die Capgo CLI benötigt eine gültige Web-Ausführung, um ein 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
uploadBefehls
If you’re still having trouble, reach out to Capgo support for assistance. They can help troubleshoot any issues with your specific setup.
Wenn Sie weiterhin Schwierigkeiten haben, wenden Sie sich bitte an das __CAPGO_KEEP_0__-Support-Team für Unterstützung. Sie können Ihnen bei der Behebung von Problemen mit Ihrer spezifischen Konfiguration helfen.
Abschnitt mit dem Titel “Fazit”Die Integration von Capgo in Ihren CI/CD-Pipeline mit angemessener Versionsverwaltung kann Ihren Entwicklungsworkflow erheblich beschleunigen. Durch die Automatisierung Ihrer Bereitstellungen und Versionsverwaltung über die capacitor.config-Methode können Sie Updates schneller und mit mehr Vertrauen bereitstellen.
Die empfohlene Methode zur Festlegung der Versionsnummer in Ihrem capacitor.config.ts Datei und die Verwendung von semantic-release zur Aktualisierung package.json bietet einen robusten und zuverlässigen Bereitstellungsprozess, der Ihnen ermöglicht, sich auf die Entwicklung von großartigen Funktionen zu konzentrieren und sich nicht um manuelle Release-Schritte kümmern zu müssen.
Für weitere Informationen zu den Capgo CLI-Befehlen und Optionen, besuchen Sie bitte die CLI-Dokumentation. Und für eine tiefergehende Einführung in die Konfiguration von semantic-release, sehen Sie sich bitte die semantic-release-Dokumentation.
an. Viel Erfolg bei der Bereitstellung!
Fortsetzung von CI/CD-Integration
Abschnitt mit dem Titel “Fortsetzung von CI/CD-Integration”Wenn Sie CI/CD automatisieren möchten, CI/CD-Integration um die CI/CD-Automatisierung zu planen, verbinden Sie sie mit Capgo CI/CD-Integration für den Produktworkflow in Capgo CI/CD-Integration, 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 der GitLab CI/CD Integration.