CLI Deploy
Aprende cómo el comando jamdesk deploy del CLI empaqueta, sube y compila tu documentación, incluyendo flags, fases de build y códigos de error.
El comando deploy empaqueta tu documentación, la sube a Jamdesk y activa un build desde la terminal. Úsalo para iteraciones rápidas, prueba de cambios o proyectos no conectados a un repositorio de GitHub.
Inicio rápido
jamdesk login # First time only
jamdesk deploy # From your project directory
Opciones
| Flag | Descripción |
|---|---|
--detach | Encola el build y sale inmediatamente (imprime un enlace al dashboard) |
--full-rebuild | Fuerza un rebuild completo, omitiendo la caché de build |
--project <id> | Despliega en un proyecto específico por ID (omite la selección interactiva) |
--allow-empty | Permite desplegar con cero páginas de contenido .mdx. Por defecto, el CLI rechaza desplegar un proyecto vacío para que un directorio de trabajo incorrecto no publique accidentalmente un sitio vacío (los snippets no cuentan como páginas de contenido) |
jamdesk push es un alias de jamdesk deploy.
Cómo funciona
Verifica que tu sesión sea válida. Si tu token ha expirado, se te pedirá que ejecutes jamdesk login.
Lee y valida docs.json del directorio actual.
Lee projectId de docs.json. Si no está presente (primer despliegue), el CLI te pedirá que selecciones entre tus proyectos. Tu elección se guarda de vuelta en docs.json para que el siguiente despliegue omita el aviso.
Usa --project <id> para sobreescribir.
Crea un tarball comprimido de tu documentación, respetando .gitignore. Si algún archivo parece contener secretos, el CLI muestra una advertencia (pero no bloquea la subida).
Envía el tarball a Jamdesk mediante una URL prefirmada. El tamaño máximo de subida es de 100 MB.
Encola un build y consulta el estado, mostrando cada fase a medida que se completa. Pulsa Ctrl+C para detener la consulta; el build continúa en segundo plano.
Muestra la URL en vivo cuando el build finaliza.
Fases del build
Durante la consulta de estado, verás cada fase completarse en secuencia:
| Fase | Descripción |
|---|---|
| Extrayendo archivos | Desempaquetando el tarball subido |
| Validando configuración | Verificando el esquema y contenido de docs.json |
| Preparando contenido | Procesando archivos MDX y recursos |
| Construyendo documentación | Compilando páginas y generando artefactos estáticos |
| Subiendo al CDN | Enviando la salida compilada a la red perimetral |
| Actualizando caché | Purgando contenido obsoleto del CDN |
Exclusiones de archivos
Los siguientes elementos siempre se excluyen de las subidas, independientemente de tu .gitignore:
.git, node_modules, .next, .env, .env.*, *.pem, *.key, credentials.json, .gcloud, .DS_Store, Thumbs.db
Todo lo que esté en tu .gitignore también se excluye.
Advertencias de archivos con secretos
El CLI advierte (pero no bloquea) cuando detecta archivos que parecen contener secretos:
- Archivos
.envy.env.* - Archivos
*.pemy*.key credentials.jsonservice_account*.json- Archivos que comienzan con
secret
Agrégalos a .gitignore para suprimir la advertencia y excluirlos de las subidas.
Referencia de errores
| Error | Código | Causa | Solución |
|---|---|---|---|
| No has iniciado sesión | AUTH_REQUIRED | Sin credenciales almacenadas | jamdesk login |
| Sesión expirada | AUTH_EXPIRED | Fallo al renovar el token | jamdesk login |
| Acceso denegado | FORBIDDEN | No eres miembro de este proyecto | Verifica la membresía del proyecto en el dashboard |
| Proyecto no encontrado | NOT_FOUND | ID de proyecto no válido | Verifica el ID o elimina projectId de docs.json |
| Build en progreso | BUILD_IN_PROGRESS | Hay otro build en ejecución | Espera o consulta el dashboard |
| Subida demasiado grande | TOO_LARGE | El servidor rechazó la subida (límite de 100 MB) | Excluye archivos grandes mediante .gitignore |
| Proyecto demasiado grande | PROJECT_TOO_LARGE | El tarball supera los 100 MB durante el empaquetado | Excluye archivos grandes mediante .gitignore |
| Sin proyectos | NO_PROJECTS | No hay proyectos en tu cuenta | Crea primero un proyecto en el dashboard |
| Sin archivos | EMPTY_PROJECT | Todos los archivos fueron excluidos | Revisa .gitignore |
| Sin páginas de contenido | NO_CONTENT | No se encontraron páginas de contenido .mdx (los snippets no cuentan) | Ejecuta desde tu directorio de documentación o pasa --allow-empty si la publicación vacía es intencionada |
| Configuración inválida | CONFIG_NOT_FOUND | docs.json ausente o inválido | Ejecuta desde la raíz del proyecto y verifica la configuración |
| Subida fallida | UPLOAD_FAILED | Problema de red durante la subida | Verifica la conexión e inténtalo de nuevo |
| Build fallido | BUILD_FAILED | Error del servicio de build | Revisa los registros del build en el dashboard |
Solución de problemas
Solo se ejecuta un build a la vez por proyecto. Espera a que el build actual finalice; consulta el estado en el dashboard en Despliegues.
Asegúrate de ejecutar el comando desde el directorio que contiene docs.json. Ejecuta jamdesk validate para comprobar si hay errores de configuración.
El límite de 100 MB se aplica al tarball comprimido de todos los archivos no excluidos. Revisa qué se está incluyendo. Las imágenes grandes, los vídeos o los archivos de datos son causas habituales; agrégalos a .gitignore para excluirlos.
Pulsa Ctrl+C para salir; el build sigue ejecutándose en segundo plano. Consulta el estado en el dashboard. Si esto ocurre de forma sistemática, es posible que tu red esté interrumpiendo las solicitudes de consulta.
Necesitas al menos un proyecto en tu cuenta de Jamdesk. Crea uno en dashboard.jamdesk.com.
Para más información sobre solución de problemas del CLI, consulta la guía de CLI del Centro de ayuda.
