Saltar al contenido principal
CI/CD

Automatiza Capgo Live Updates desde Lovable con GitHub Actions

Publica en Lovable con un solo clic para usuarios de producción: sincroniza con GitHub, guarda tu clave API de Capgo como un secret, y deja que GitHub Actions haga el build y upload en cada push.

Automatiza Capgo Live Updates desde Lovable con GitHub Actions

Tu cliente quiere un solo botón en Lovable para enviar cambios a todos los usuarios activos. Ya comprobaste que el flujo de actualización funciona manualmente:

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

Lo que falta no es otro comando de terminal dentro de Lovable. Lovable no puede ejecutar Capgo al publicar. Cuando la sincronización de GitHub está activada, Publish envía un commit a tu repo. GitHub Actions ejecuta el build y bundle upload lo hace por ti.

Esta guía cubre la única configuración manual que el cliente debe hacer una vez: añadir CAPGO_TOKEN como un secreto de GitHub. Para el archivo del workflow, copia y pega la instrucción de IA en Lovable (Paso 3).

Cómo funciona el pipeline

Paso Quién Qué sucede
1 Cliente Edita la app en Lovable y hace clic en Publish
2 Lovable Commits y pushes a GitHub (normalmente main)
3 Acciones de GitHub npm ci, npm run build, bundle upload --auto-bump a Capgo
4 Capgo Dispositivos activos en el production canal reciben la actualización

Sin SSH, sin CLI local y sin clics extra tras configurar el secret.

Requisitos previos

  • Proyecto de Lovable conectado a GitHub (guía de exportación)
  • Capacitor + @capgo/capacitor-updater en el repo (Guía de Lovable a móvil)
  • App registrada en Capgo con capacitor.config.ts apuntando al correcto appId
  • production channel correcto, existe y está vinculado a los builds que usan tus usuarios

Por qué --auto-bump

Cada upload de Capgo requiere una nueva versión de bundle única. Lovable Publish no incrementa el package.json por ti, así que el CI fallaría en el segundo deploy si reutilizas la misma versión.

--auto-bump lee la última versión del channel (o app) y la incrementa. El nivel por defecto es minor. Puedes pasar --auto-bump patch o --auto-bump major si lo prefieres.

Paso 1 — Crea una clave Capgo API

  1. Abrir console.capgo.app/apikeys/
  2. Crea una clave API con permiso para subir bundles de tu app
  3. Copia la clave una sola vez. No volverás a ver el valor completo

Trata esta clave como una contraseña. Nunca la subas a Git ni la pegues en el chat de Lovable.

Paso 2 — Añadir CAPGO_TOKEN en GitHub (el único paso de env)

Este es el paso que le envías a Kuldeep o a cualquier cliente que sea dueño del repo.

  1. Abre el repositorio de GitHub que Lovable sincroniza
  2. Ir a Configuración → Secrets y variables → Actions
  3. Haz clic en Nuevo secreto del repositorio
  4. Nombre: CAPGO_TOKEN
  5. Valor: pega la clave Capgo API del Paso 1
  6. Guardar

GitHub inyecta el secret en los workflows como ${{ secrets.CAPGO_TOKEN }}. El siguiente workflow lo lee como la CAPGO_TOKEN variable de entorno para Capgo CLI.

Si el repo pertenece a la organización de tu cliente, deberán añadir el secret en su repo. Solo necesitas la clave de GitHub, no la de Lovable.

Paso 3 — Pega este prompt en Lovable

Copia el siguiente bloque en el chat de Lovable. Si tu rama por defecto no es main, reemplaza main en el workflow con el nombre de tu rama.

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.

Una vez que Lovable aplique el cambio, haz clic en Publish para que el workflow se despliegue en GitHub.

Alternativa manual

Si prefieres no usar el chat de Lovable, crea .github/workflows/capgo-live-updates.yml solo con este YAML (no con el prompt). Adapta los pasos de install/build según las reglas anteriores si tu proyecto es distinto, luego haz commit y 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 path: Las apps de Lovable con Vite suelen necesitar base: './' en vite.config.ts así los assets se cargan dentro del shell nativo. Si los usuarios ven una pantalla blanca tras una Live Update, pide a Lovable que configure base: './', publica de nuevo y deja que el workflow haga el redeploy.

Bundles cifrados: Si usas cifrado Capgo, añade CAPGO_PRIVATE_KEY como un segundo secreto GitHub y pasa --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" en el paso de upload.

Paso 4 — Confirm Publish activa un deploy

  1. En Lovable, haz un pequeño cambio visible (por ejemplo, el texto de un botón)
  2. Haz clic en Publish
  3. En GitHub, abre Actions y observa Capgo Live Updates
  4. Cuando el job esté en verde, abre tu consola de Capgo y confirma un nuevo bundle en el production canal
  5. En un dispositivo con la app instalada, confirma que llegue el cambio (puede tardar un minuto según la configuración del canal)

✅ Éxito: Publicar en Lovable → Action GitHub en verde → nuevo bundle en Capgo → los usuarios reciben la actualización.

Solución de problemas

Síntoma Causa probable Solución
El workflow nunca se ejecuta El push fue a una rama distinta de main Cambio branches en el workflow o publicar en main
CAPGO_TOKEN / error de auth Secret ausente o nombre incorrecto El secret debe ser exactamente CAPGO_TOKEN en Actions secrets
La versión ya existe El upload reutilizó la misma versión de bundle Mantener --auto-bump en el paso de upload (o pasar --auto-bump patch)
El build falló en npm ci Lockfile desincronizado Ejecutar npm install localmente, hacer commit package-lock.json, publicar de nuevo
La subida fue exitosa, pero la pantalla está en blanco Incorrecto webDir o Vite base Coincidir capacitor.config.ts webDir con el build de salida (dist para Vite) y configurar base: './'
Los usuarios no ven la actualización El Channel no está vinculado a su build En Capgo, vincula el build del dispositivo a production o configura el channel como público

Para más patrones de workflow (feature branches, PR channels, encryption), consulta Integración de GitHub Actions.

Lo que le dices a tu cliente

Envíale esta lista de verificación:

  1. Tú ya conectaste Lovable con GitHub y configuraste Capgo en la app móvil.
  2. Ellos añaden un secreto de GitHub: CAPGO_TOKEN con su clave API de Capgo (página apikeys).
  3. Ellos hacen clic Publicar en Lovable siempre que quieran que los usuarios reciban cambios.
  4. Nunca ejecutan npx @capgo/cli localmente a menos que quieran.

Eso encaja con la experiencia de un solo clic que buscaban: el botón es Publish in Lovable; GitHub Actions y Capgo se encargan del resto.

Continuar

Live updates para apps Capacitor

Cuando un bug de la capa web está en producción, publica el fix a través de Capgo en lugar de esperar días a la aprobación de la app store. Los usuarios reciben la actualización en segundo plano mientras los cambios nativos siguen el flujo de revisión habitual.

Lo último de nuestro blog

Capgo te da la información clave que necesitas para crear una app móvil realmente profesional.