Workflow · DevOps · IA

Actualiza la web de tu cliente desde el móvil: Claude + GitHub + deploy automático

Por Juan — Founder de c6n Actualizado: 25 junio 2026 Lectura: 8 min

Respuesta directa: para actualizar la web de un cliente desde el móvil necesitas tres piezas: (1) el código en un repositorio de GitHub, (2) una GitHub Action que despliega por FTP/FTPS a tu servidor cada vez que algo llega a la rama main, y (3) la app de Claude para pedir el cambio en lenguaje natural. Claude edita el código, abre un pull request; tú lo fusionas desde el teléfono y la Action publica en el servidor en segundos. Es exactamente el sistema con el que se despliega este sitio.
3piezas: GitHub + una GitHub Action + la app de Claude
<1 mindel mensaje del cliente a «listo, revisa la web»
2.000minutos/mes de GitHub Actions gratis en repos privados (ilimitado en públicos)
0líneas de código que escribes tú desde el bus

Las 3 piezas del sistema

Mientras la gente normal a tu alrededor se drena el alma viendo Reels en la fila del banco, tú puedes estar enviándole cambios en vivo a un cliente desde el bus. No es magia: es una tubería sencilla con tres componentes.

Cómo se conecta: la GitHub Action de deploy

El pegamento es una GitHub Action: un pequeño archivo YAML en .github/workflows/ que se dispara cada vez que llega un cambio a la rama main y sube los archivos por FTP a tu servidor. La acción más usada para esto es SamKirkland/FTP-Deploy-Action. Este es, casi literal, el workflow con el que se despliega c6n.eu:

name: Deploy website

on:
  push:
    branches: [main]      # se dispara al fusionar en main
    paths:
      - "site/**"          # solo si cambió la carpeta del sitio

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Deploy por FTPS a cPanel
        uses: SamKirkland/FTP-Deploy-Action@v4.3.5
        with:
          server:   ${{ secrets.FTP_SERVER }}
          username: ${{ secrets.FTP_USERNAME }}
          password: ${{ secrets.FTP_PASSWORD }}
          protocol: ftps                 # FTP sobre TLS, nunca plano
          local-dir: site/
          server-dir: ./
          dangerous-clean-slate: false   # no borra lo que no esté en el repo
          exclude: |
            api/config.php               # protege archivos sensibles del server

Traducción: cada vez que un cambio aterriza en main, GitHub levanta una máquina, coge tu carpeta y la sube al servidor. dangerous-clean-slate: false garantiza que nunca borra archivos que no estén en el repo (como el config.php que subiste a mano), y exclude protege lo que no debe tocarse. Lo configuras una vez por proyecto y se olvida.

El flujo desde el móvil, paso a paso

La magia real pasa cuando estás apretado en el metro y el cliente te escribe: «Oye, cámbiame el texto de los precios y arregla el botón de pago que se ve raro». En vez de estresarte o sacar el portátil en medio de la calle:

  1. Abres la app de Claude en el móvil.
  2. Le pones el encargo: «Claude, entra a la carpeta de este cliente, cambia el texto de precios por este y arregla el diseño del botón de pago».
  3. Claude hace el cambio de código, hace commit y abre un pull request a main.
  4. Fusionas el pull request desde el propio móvil. Ese merge dispara la GitHub Action y el servidor se actualiza solo en segundos.
  5. Le respondes al cliente: «Listo, revisa la web».
MomentoLo que haces túLo que pasa solo
El cliente escribeAbres Claude en el móvil
Pides el cambioLo describes en una fraseClaude edita el código y abre el PR
Revisas y apruebasFusionas el PR a mainLa GitHub Action arranca
DeployNadaSubida por FTPS al servidor en segundos
Cierras«Listo, revisa la web»Cambio en vivo y registrado en el historial

¿Por qué pull request a main y no editar en producción?

Podrías editar el archivo directo en el servidor por FTP, sí. Pero entonces no tienes historial, ni revisión, ni vuelta atrás. Pasar siempre por un pull request a main te da tres seguros: ves el diff exacto antes de publicar, queda registrado quién cambió qué y cuándo, y si algo sale mal reviertes el commit y el servidor vuelve al estado anterior en el siguiente deploy. La rama main es, por definición, lo que está publicado.

Buenas prácticas y errores comunes

"La próxima vez que te toque perder la mañana en un trámite o atrapado en el tráfico, no llores: pon a Claude a trabajar desde el bolsillo. El servidor se actualiza solo mientras tú haces la fila." — Juan, founder de c6n

¿Quieres este flujo montado en tus proyectos?

Montamos la tubería completa —GitHub, deploy automático por FTP/FTPS y Claude conectado a tus repos— para que publiques cambios de cliente desde el móvil en segundos. Pídenos el diagnóstico gratuito.

Hablar con CA.IA — gratis

Diagnóstico en 48h · Máximo 4 clientes activos · c6n.eu

Fuentes

  1. SamKirkland — "FTP Deploy Action", GitHub Marketplace: deploy por FTP/FTPS desde GitHub Actions y opción dangerous-clean-slate.
  2. GitHub Docs — Workflows de Actions: disparadores on: push, filtros por paths y gestión de secrets cifrados.
  3. GitHub Docs — Facturación de Actions: 2.000 minutos/mes gratis en repositorios privados (uso ilimitado en repositorios públicos).
  4. Documentación de despliegue GitHub → cPanel vía FTP (guías de hosting con cPanel, 2025-2026).