Aller au contenu principal
CI/CD

Automatisez les Capgo Live Updates depuis Lovable avec GitHub Actions

Publiez en un clic depuis Lovable vers vos utilisateurs en production : synchronisez avec GitHub, stockez votre clé API Capgo en tant que secret, et laissez GitHub Actions compiler et envoyer l'upload à chaque push.

Automatisez les Capgo Live Updates depuis Lovable avec GitHub Actions

Votre client veut un bouton unique dans Lovable pour déployer les changements auprès de chaque utilisateur actif. Vous avez déjà prouvé que le flux de mise à jour fonctionne manuellement :

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

Ce qu'il manque, ce n'est pas une commande terminal supplémentaire dans Lovable. Lovable cannot run Capgo on Publish. Lorsque la synchronisation GitHub est activée, Publish en pousse un commit vers votre repo. GitHub Actions lance le build et bundle upload pour vous.

Ce guide détaille la seule configuration manuelle que votre client doit effectuer une fois : ajouter CAPGO_TOKEN en tant que secret GitHub. Pour le fichier workflow, copiez-collez l'instruction IA prête à l'emploi dans Lovable (Étape 3).

Fonctionnement du pipeline

Étape Qui Ce qu'il se passe
1 Client Modifie l'app dans Lovable et clique sur Publier
2 Lovable Commits et pushes vers GitHub (généralement main)
3 GitHub Actions GitHub npm ci, npm run build, bundle upload --auto-bump vers Capgo
4 Capgo Appareils actifs sur le production canal reçoivent la mise à jour

Pas de SSH, pas de CLI local, aucun clic supplémentaire une fois le secret configuré.

Prerequisites

  • Projet Lovable connecté à GitHub (guide d'export)
  • Capacitor + @capgo/capacitor-updater dans le repo (Guide Lovable vers le mobile)
  • App enregistrée dans Capgo avec capacitor.config.ts pointant vers le bon appId
  • production canal existe et est lié aux builds que vos utilisateurs exécutent

Pourquoi --auto-bump

Chaque upload Capgo nécessite une nouvelle version de bundle unique. Lovable Publish n'incrémente pas package.json pour vous, la CI échouerait donc au second déploiement si vous réutilisez la même version.

--auto-bump lit la dernière version du canal (ou de l'app) et l'incrémente. Le niveau par défaut est minor. Vous pouvez passer --auto-bump patch ou --auto-bump major si vous préférez.

Étape 1 — Créer une clé Capgo API

  1. Ouvrir console.capgo.app/apikeys/
  2. Créer une clé API avec la permission d'envoyer des bundles pour votre app
  3. Copiez la clé une seule fois. Vous ne pourrez plus en voir la valeur complète.

Traitez cette clé comme un mot de passe. Ne la commit jamais sur Git et ne la collez pas dans le chat Lovable.

Étape 2 — Ajouter CAPGO_TOKEN dans GitHub (la seule étape d'env variable)

C'est l'étape que vous envoyez à Kuldeep et à tout client propriétaire du repo.

  1. Ouvrez le repository GitHub synchronisé avec Lovable
  2. Accéder à Paramètres → Secrets et variables → Actions
  3. Cliquez Nouveau secret de repository
  4. Nom : CAPGO_TOKEN
  5. Valeur : collez la clé Capgo API de l'étape 1
  6. Enregistrer

GitHub injecte le secret dans les workflows en tant que ${{ secrets.CAPGO_TOKEN }}. Le workflow ci-dessous le lit comme la CAPGO_TOKEN variable d'environnement pour le Capgo CLI.

Si le repo appartient à l'organisation de votre client, celui-ci doit ajouter le secret sur son repo. Vous n'avez besoin que de la clé de GitHub, pas des paramètres Lovable.

Étape 3 — Collez ce prompt dans Lovable

Copiez le bloc ci-dessous dans le chat Lovable. Si votre branche par défaut n'est pas main, remplacez main dans le workflow par le nom de votre branche.

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.

Une fois que Lovable a appliqué le changement, cliquez sur Publier pour que le workflow cible GitHub.

Alternative manuelle

Si vous préférez ne pas utiliser le chat Lovable, créez .github/workflows/capgo-live-updates.yml avec ce YAML uniquement (pas le texte du prompt). Adaptez les étapes d'install/build de la même manière que les règles ci-dessus si votre projet diffère, puis effectuez un commit et un push.

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 chemin : Les apps Vite de Lovable nécessitent souvent base: './' dans vite.config.ts pour que les assets se chargent dans le shell natif. Si les utilisateurs voient un écran blanc après une mise à jour OTA, demandez à Lovable de définir base: './', publiez à nouveau et laissez le workflow redéployer.

Bundles chiffrés : Si vous utilisez chiffrement Capgo, ajoutez CAPGO_PRIVATE_KEY comme second secret GitHub et passez --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" à l'étape de l'upload.

Étape 4 — Vérifier que Publish déclenche un déploiement

  1. Dans Lovable, effectuez un petit changement visible (par exemple le texte d'un bouton)
  2. Cliquez Publier
  3. Sur GitHub, ouvrez Actions et surveillez Capgo Live Updates
  4. Lorsque le job est au vert, ouvrez votre console Capgo et confirmez la présence d'un nouveau bundle sur le production canal
  5. Sur un appareil où l'app est installée, confirmez que le changement arrive (cela peut prendre une minute selon les paramètres du canal)

✅ Succès : Publier dans Lovable → Action GitHub verte → nouveau bundle dans Capgo → les utilisateurs reçoivent la mise à jour.

Troubleshooting

Symptôme Cause probable Corriger
Le workflow ne s'exécute jamais Le push est allé sur une branche autre que main Modification branches dans le workflow ou publier sur main
CAPGO_TOKEN / erreur d'auth Secret manquant ou nom incorrect Le secret doit être exactement CAPGO_TOKEN sous les secrets Actions
La version existe déjà L'upload a réutilisé la même version de bundle Conservez --auto-bump lors de l'étape d'upload (ou passez --auto-bump patch)
Échec du build sur npm ci Lockfile désynchronisé Exécutez npm install en local, commit package-lock.json, republier
L'upload réussit, mais l'écran est blanc Incorrect webDir ou Vite base Match capacitor.config.ts webDir avec le build de sortie (dist pour Vite) et définir base: './'
Les utilisateurs ne voient pas la mise à jour Le canal n'est pas lié à leur build Dans Capgo, liez le build de l'appareil à production ou réglez le canal sur public

Pour d'autres modèles de workflow (feature branches, canaux PR, chiffrement), consultez Intégration GitHub Actions.

Ce que vous dites à votre client

Envoyez-lui cette checklist :

  1. Vous avez déjà connecté Lovable à GitHub et configuré Capgo sur l'application mobile.
  2. Ils ajoutent un secret GitHub : CAPGO_TOKEN avec leur clé Capgo API (page apikeys).
  3. Ils cliquer Publier dans Lovable dès qu'ils veulent que les utilisateurs reçoivent les changements.
  4. Ils n'exécutent jamais npx @capgo/cli en local, sauf s'ils le souhaitent.

Cela correspond à l'expérience en un clic qu'ils demandaient : Publish dans Lovable, c'est le bouton ; GitHub Actions et Capgo s'occupent du reste.

Continuer

Live updates pour les apps Capacitor

Lorsqu'un bug de la couche web est en ligne, déployez le correctif via Capgo au lieu d'attendre des jours l'approbation des stores. Les utilisateurs reçoivent la mise à jour en arrière-plan, tandis que les changements natifs suivent le circuit de validation habituel.

Les derniers articles du blog

Capgo vous offre les meilleures informations pour créer une application mobile vraiment professionnelle.