Zum Hauptinhalt springen
CI/CD

Automatisieren Sie Capgo Live-Updates mit GitHub Actions

Einfacher Lovable-Publish zu Produktionsbenutzern: Synchronisieren Sie sich mit GitHub, speichern Sie Ihre Capgo API-Schlüssel als Geheimnis und lassen Sie GitHub Actions bei jedem Push bauen und hochladen.

Artikelcredits

Martin Donadieu

Schreiber

Valeria

Rezensent

Jordan

Redakteur

Automatisieren Sie Capgo Live-Updates mit GitHub Actions

Ihr Kunde möchte, dass in Lovable ein einzelner Button vorhanden ist, der Änderungen an jeden aktiven Benutzer schickt. Sie haben bereits nachgewiesen, dass der Update-Path funktioniert:

npx @capgo/cli@latest bundle upload --channel=production --auto-bump

Der fehlende Teil ist nicht ein weiteres Terminal-Befehl innerhalb von Lovable. Lovable kann nicht Capgo auf Publish ausführen. Wenn GitHub-Synchronisierung aktiviert ist, Publish schiebt einen Commit in Ihren Repository. GitHub-Actions führt die Build- und bundle upload für Sie durch.

Diese Anleitung behandelt die einzige manuelle Einrichtung, die Ihr Kunde einmal durchführen muss: __CAPGO_KEEP_0__ als geheimes Lovable-Element hinzufügen. Für die Workflow-Datei fügen Sie die bereitgestellte AI-Anweisung in Lovable ein (Schritt 3). CAPGO_TOKEN as a GitHub secret. For the workflow file, copy-paste the ready AI instruction into Lovable (Step 3).

Schritt

Wer Who What happens
1 Kunde Ändert die App in Lovable und klickt auf Veröffentlichen
2 Lovable Committet und pushen Sie zu GitHub (normalerweise) main)
3 GitHub-Actions npm ci, npm run build, bundle upload --auto-bump zu Capgo
4 Capgo aktive Geräte auf dem Kanal erhalten die Aktualisierung production Kein SSH, keine lokale __CAPGO_KEEP_0__, kein zusätzlicher Klick nach der Konfiguration des Geheimnisses.

No SSH, no local CLI, no extra click after the secret is configured.

Voraussetzungen

  • Projekt, das mit GitHub verbunden ist (Anleitung zum Export)
  • Capacitor + @capgo/capacitor-updater im Repository (Anleitung Lovable zu mobilen Geräten)
  • App registriert in Capgo mit capacitor.config.ts Zeigt auf die richtige appId
  • production Kanal existiert und ist mit den Builds verbunden, die Ihre Benutzer ausführen

Weshalb --auto-bump

Jedes Capgo-Upload benötigt eine neue eindeutige Bundle-Version . Lovable Publish tutet nicht auf. package.json für Sie, sodass die CI bei der zweiten Bereitstellung fehlschlägt, wenn Sie die gleiche Version wiederholen.

--auto-bump liest die neueste Version im Kanal (oder App) und erhöht sie. Der Standardwert ist minor . Sie können --auto-bump patch oder --auto-bump major wenn Sie es bevorzugen.

Schritt 1 — Erstellen Sie eine Capgo API Schlüssel

  1. Öffnen Sie Konsole.capgo.app/apikeys/
  2. Erstellen Sie einen API-Schlüssel mit der Berechtigung, Pakete für Ihre App hochzuladen
  3. Kopieren Sie den Schlüssel einmal. Sie werden den vollständigen Wert nicht wiedersehen

Behandeln Sie diesen Schlüssel wie ein Passwort. Komitieren Sie ihn nicht in Git oder fügen Sie ihn nicht in Lovable Chat ein.

Schritt 2 — Hinzufügen CAPGO_TOKEN in GitHub (der einzige Umgebungsstep)

Dies ist der Schritt, den Sie an Kuldeep und jedem Kunden, der den Repository besitzt, senden.

  1. Öffnen Sie das GitHub Repository, das Lovable synchronisiert
  2. Gehe zu EinstellungenGehe zuGehe zu
  3. Aktionen Klicken Sie
  4. Neuer Repository-Schlüssel CAPGO_TOKEN
  5. Name: Eintragen Sie den Wert: Fügen Sie die Capgo API-Schlüssel aus Schritt 1 ein
  6. Speichern

GitHub injiziert das Geheimnis in Workflows als ${{ secrets.CAPGO_TOKEN }}. Das unten stehende Workflow liest es als Umgebungsvariable für den __CAPGO_KEEP_0__ __CAPGO_KEEP_1__. CAPGO_TOKEN environment variable for the Capgo CLI.

Repository hinzufügen. Sie benötigen nur den Schlüssel in __CAPGO_KEEP_0__, nicht in den Lovable-Einstellungen. Schritt 3 — Fügen Sie diesen Prompt in Lovable ein repo. You only need the key in GitHub, not in Lovable settings.

ist, ersetzen Sie

im Workflow durch Ihren Zweignamen. mainNachdem Lovable die Änderung angewendet hat, klicken Sie main auf

Add Capgo Live Updates CI with GitHub Actions.

Create `.github/workflows/capgo-live-updates.yml` (create folders if needed). Start from this YAML, then adapt install/build to this project while keeping Capgo upload + CAPGO_TOKEN secret behavior:

name: Capgo Live Updates

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Setup Node.js
        uses: actions/setup-node@v6
        with:
          node-version: '24'
          cache: 'npm'

      - name: Install and build
        run: |
          npm ci
          npm run build

      - name: Upload bundle to Capgo
        run: npx @capgo/cli@latest bundle upload --channel=production --auto-bump
        env:
          CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}

Rules:
- Do not hardcode any Capgo API key in the repo or in chat.
- The workflow must read CAPGO_TOKEN only from GitHub Actions secrets (`${{ secrets.CAPGO_TOKEN }}`).
- Keep `--auto-bump` on the upload command so each Publish gets a new unique bundle version.
- Prefer the project's real production build script from package.json (for example `npm run build` or `vite build`).
- If package-lock.json is missing, use `npm install` instead of `npm ci`.
- Do not modify app UI or Capacitor config for this task.
- Commit the workflow file so the next Publish pushes it to GitHub.

auf Veröffentlichen so landet die Workflow auf GitHub.

Manuelle Alternative

Wenn Sie die Lovable-Chats nicht verwenden möchten, erstellen Sie .github/workflows/capgo-live-updates.yml mit diesem YAML nur (nicht die prompte Prosa). Anpassen Sie die Installations- und Build-Schritte auf die gleiche Weise wie die Regeln oben, wenn Ihr Projekt sich unterscheidet, dann committen und pushen.

name: Capgo Live Updates

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Setup Node.js
        uses: actions/setup-node@v6
        with:
          node-version: '24'
          cache: 'npm'

      - name: Install and build
        run: |
          npm ci
          npm run build

      - name: Upload bundle to Capgo
        run: npx @capgo/cli@latest bundle upload --channel=production --auto-bump
        env:
          CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}

Vite base Weg: Lovable Vite-Anwendungen benötigen oft base: './' damit sich die Assets innerhalb des nativen Shells laden. Wenn Benutzer nach einer OTA-Update eine weiße Seite sehen, bitten Sie Lovable, vite.config.ts erneut zu veröffentlichen und dem Workflow erneut zu deployen. base: './'Verschlüsselte Bundle:

Publish Wenn Sie verwenden Capgo-Verschlüsselung verwenden, fügen Sie CAPGO_PRIVATE_KEY als zweiten GitHub-Geheimnis hinzu und übermitteln Sie --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" auf dem Upload-Schritt.

Schritt 4 — Bestätigen Sie die Veröffentlichung, die ein Bereitstellen auslöst

  1. In Lovable, machen Sie eine kleine sichtbare Änderung (zum Beispiel Text des Schalters)
  2. Klicken Sie Veröffentlichen
  3. Auf GitHub, öffnen Sie Aktionen und beobachten Sie Capgo Live Updates
  4. Wenn die Aufgabe grün ist, öffnen Sie Ihr Capgo Konsole und bestätigen Sie ein neues Paket auf dem production Kanal
  5. Bei einem Gerät mit der installierten App bestätigen Sie, dass die Änderung eintrifft (kann je nach Kanal-Einstellungen einige Minuten dauern)

Erfolg: Publish in Lovable → green GitHub Action → new bundle in Capgo → users get the update.

__CAPGO_KEEP_0__ Action → neues Paket in

__CAPGO_KEEP_1__ → Benutzer erhalten die Aktualisierung. Hilfe bei Problemen Symptom: __CAPGO_KEEP_0__ (optional, e.g. 'Keine Aktualisierung') Likely cause: __CAPGO_KEEP_1__ Fix: __CAPGO_KEEP_2__
Arbeitsablauf läuft nie Push ging zu einem anderen Branch als main Änderung branches in dem Arbeitsablauf oder veröffentlichen Sie auf main
CAPGO_TOKEN / Auth-Fehler Geheimnis fehlt oder falscher Name Geheimnis muss genau CAPGO_TOKEN unter Actions-Secrets
Version existiert bereits Upload verwendete die gleiche Bundle-Version Bleiben Sie --auto-bump auf dem Upload-Schritt (oder passen Sie --auto-bump patch)
Build fehlt bei npm ci Lockfile ist nicht synchron Ausführen npm install lokal, commit package-lock.json, veröffentlichen
Upload gelingt, weiße Seite Falsch webDir oder Vite base Zuordnen capacitor.config.ts webDir zum Build-Ausgabe (dist für Vite) und setzen base: './'
Benutzer sehen die Aktualisierung nicht Kanal nicht mit ihrem Build verknüpft In Capgo, verknüpfen Sie den Gerätebuild mit production oder setzen Sie den Kanal auf öffentlich

Für weitere Workflow-Muster (Funktionszweige, Pull-Request-Kanäle, Verschlüsselung) siehe GitHub Actions-Integration.

Was Sie Ihrem Kunden sagen

Senden Sie ihnen diesen Checklisten:

  1. Sie bereits Lovable mit GitHub verbunden und Capgo auf dem mobilen App eingerichtet haben
  2. Sie fügen Sie ein GitHub-Geheimnis hinzu: CAPGO_TOKEN mit ihrem Capgo API-Schlüssel (API-Schlüssel-Seite).
  3. Sie klicken Veröffentlichen in Lovable, sobald sie möchten, dass die Benutzer Änderungen erhalten.
  4. Sie laufen niemals npx @capgo/cli lokal, es sei denn, sie möchten es.

Das entspricht der Einfachheit, die sie gefordert haben: Veröffentlichen in Lovable ist der Knopf; GitHub Actions und Capgo erledigen den Rest.

Weitermachen

Live-Updates für Capacitor Apps

Wenn ein Web-Schicht-Bug live ist, schicken Sie die Reparatur über Capgo anstatt Tage für die Genehmigung des App-Store-Verfahrens zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Überprüfungsverfahren bleiben.

Unterstützung von Martin

Los geht's jetzt

Neueste aus unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um ein wirklich professionelles Mobilgerät zu erstellen.