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». (Cuanto más concreto seas, mejor sale — ver cómo darle contexto sin que salga genérico.)
  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

Este tipo de tuberías —que un cambio se publique solo, sin tocar nada a mano— es el corazón de la automatización y del diseño web que montamos para clientes: webs que no solo se ven bien, sino que se mantienen sin fricción.

"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 Camilo Calderón, fundador de c6n

Preguntas frecuentes

¿Se puede actualizar una web de verdad desde el móvil?

Sí. Con el código en GitHub y una GitHub Action que despliega por FTP/FTPS a tu servidor, puedes pedirle el cambio a la app de Claude desde el teléfono, fusionar el pull request a la rama main y la web se actualiza sola en segundos. No necesitas abrir el portátil ni conectarte por FTP a mano.

¿Necesito saber programar para hacer esto?

Necesitas montar el sistema una vez (repositorio, secretos FTP y el archivo de la GitHub Action), y eso sí requiere conocimiento técnico o ayuda puntual. Pero el día a día —los cambios que pide el cliente— los describes en lenguaje natural y Claude escribe el código. Una vez configurado, no tocas FTP ni servidores manualmente.

¿Es seguro guardar las credenciales FTP en GitHub?

Sí, si usas GitHub Secrets. Los datos (servidor, usuario, contraseña) se guardan cifrados en Settings → Secrets and variables → Actions y nunca aparecen en el código ni en los logs. Usa siempre FTPS (FTP sobre TLS) en lugar de FTP plano, y excluye del deploy archivos sensibles como config.php para no sobrescribirlos.

¿Funciona con cualquier hosting o solo con cPanel?

Funciona con cualquier hosting que ofrezca acceso FTP o FTPS, que es la inmensa mayoría del hosting compartido y cPanel. La GitHub Action más usada para esto es SamKirkland/FTP-Deploy-Action. Si tu servidor admite SSH, también puedes desplegar por SFTP o rsync con el mismo patrón.

¿Cuánto cuesta montar este flujo de deploy automático?

Prácticamente nada en herramientas: GitHub Actions incluye 2.000 minutos de ejecución gratis al mes en repositorios privados (ilimitado en públicos), y un deploy por FTP consume segundos. El coste real es el tiempo de configurarlo una vez; a partir de ahí, cada actualización es gratis e instantánea.

¿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 10 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).