Appearance
Autobase CLI
Herramienta CLI (command line interface) para sincronización de desarrollo con el servidor Autobase.
Instalación (y actualización)
Descargar Autobase CLI
Descomprimir
Instalar, ejecutando
bash
install.bat
# o install.ps1Comandos Disponibles
🔐 Autenticación
autobase login
Inicia sesión en el servidor usando credenciales de usuario.
bash
autobase loginCaracterísticas:
- Solicita la contraseña de forma segura (no se muestra en pantalla)
- Guarda el token de sesión localmente
- La sesión se mantiene hasta que se ejecute
logout - Muestra información del tenant y usuario después del login exitoso
autobase logout
Cierra la sesión actual y elimina el token de sesión guardado localmente.
Ejemplo:
bash
autobase logout📦 Desarrollo, Despliegue y Ejecución
autobase clone
Descarga todos los archivos de una aplicación del servidor e inicializa el proyecto local creando el archivo autobase.json en la carpeta actual. Soporta aplicaciones web y procesos programados.
bash
autobase cloneNota: El directorio actual debe estar vacío para poder clonar. Los environments sin slug se muestran como "Prod".
autobase pull
Trae los últimos archivos de la aplicación desde el servidor, sobrescribiendo los archivos locales. Utiliza la configuración de autobase.json para saber qué aplicación y entorno descargar.
bash
autobase pullCaracterísticas:
- Requiere un
autobase.jsonexistente (creado previamente conclone) - Pide confirmación antes de sobrescribir archivos locales
- Descarga todos los archivos de la aplicación desde el servidor
autobase watch
Monitorea cambios en archivos locales y los sincroniza automáticamente con el servidor.
Ejemplo:
bash
autobase watchOpciones:
-d|--debounce <ms>- Tiempo de espera en milisegundos antes de sincronizar (default: 1000)
Características:
- File system watcher en tiempo real
- Debounce de eventos (evita sincronizaciones múltiples)
- Deduplicación de eventos
- Ignora archivos temporales (.tmp, .swp, ~)
- Ignora directorios (.git, bin, obj)
autobase push
Despliega archivos al servidor. Compara hashes SHA256 y solo sube archivos modificados.
Ejemplo:
bash
autobase pushCaracterísticas:
- Compara hashes para detectar cambios
- Solo sube archivos modificados
- Muestra tabla con archivos a actualizar
autobase execute
Ejecuta un proceso en el servidor de forma inmediata (sin esperar la próxima ejecución programada). Solo funciona para aplicaciones de tipo PROCESS.
Ejemplo:
bash
# Parado en la carpeta del proceso clonado
autobase executeCaracterísticas:
- Requiere un
autobase.jsonexistente (creado previamente conclone) - Lee tenant, app y environment del config
- Ejecuta el script definido en
app.yamlen el servidor - No altera la próxima ejecución programada
- Registra la ejecución en el historial del proceso
Procesos programados (PROCESS type)
Las aplicaciones de tipo PROCESS son procesos batch ejecutados según una expresión cron. Se gestionan como aplicaciones normales (clonar, editar, watch, push) y su app.yaml incluye propiedades adicionales:
yaml
script: |
-- Código Lua a ejecutar
local data = db:exec("SELECT * FROM tabla")
expression: "*/5 * * * *"
defaultConnection: NombreDeConexion| Propiedad | Descripción |
|---|---|
script | Código Lua a ejecutar |
expression | Expresión cron para programar ejecuciones |
defaultConnection | Conexión por defecto para consultas SQL (opcional) |
Los procesos se ejecutan automáticamente según el cron. Se puede forzar una ejecución manual con autobase execute.
ℹ️ Información
autobase version
Muestra la versión del CLI.
Ejemplo:
bash
autobase versionArchivo de Configuración
autobase.json
Archivo de configuración del proyecto creado por autobase clone:
json
{
"tenant": "mycompany",
"app": "myapp",
"env": "dev",
"createdAtUtc": "2025-04-06T12:00:00Z"
}envse guarda vacío si se seleccionó "Prod" (environment sin slug)- Este archivo puede subirse a Git (no contiene secrets).
Flujo de Trabajo Típico
Configuración Inicial
- Iniciar sesión:bash
autobase login
Desarrollo con Proyecto Existente
Clonar aplicación existente (primera vez):
bashautobase cloneTraer últimos cambios del servidor (proyecto ya clonado):
bashautobase pullDesarrollar con sincronización automática:
bashautobase watchAhora cualquier cambio en los archivos se sincronizará automáticamente con el servidor.
Despliegue Manual
- Subir cambios:bash
autobase push
Notas
- El archivo
autobase.jsonpuede subirse a Git (no contiene secretos) - El comando
watchincluye debounce y deduplicación de eventos para evitar sincronizaciones innecesarias