Skip to content

Autobase CLI

Herramienta CLI (command line interface) para sincronización de desarrollo con el servidor Autobase.

Instalación (y actualización)

  1. Descargar Autobase CLI

  2. Descomprimir

  3. Instalar, ejecutando

bash
install.bat
# o install.ps1

Comandos Disponibles

🔐 Autenticación

autobase login

Inicia sesión en el servidor usando credenciales de usuario.

bash
autobase login

Caracterí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 clone

Nota: 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 pull

Características:

  • Requiere un autobase.json existente (creado previamente con clone)
  • 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 watch

Opciones:

  • -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 push

Caracterí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 execute

Características:

  • Requiere un autobase.json existente (creado previamente con clone)
  • Lee tenant, app y environment del config
  • Ejecuta el script definido en app.yaml en 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
PropiedadDescripción
scriptCódigo Lua a ejecutar
expressionExpresión cron para programar ejecuciones
defaultConnectionConexió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 version

Archivo 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"
}
  • env se 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

  1. Iniciar sesión:
    bash
    autobase login

Desarrollo con Proyecto Existente

  1. Clonar aplicación existente (primera vez):

    bash
    autobase clone
  2. Traer últimos cambios del servidor (proyecto ya clonado):

    bash
    autobase pull
  3. Desarrollar con sincronización automática:

    bash
    autobase watch

    Ahora cualquier cambio en los archivos se sincronizará automáticamente con el servidor.

Despliegue Manual

  1. Subir cambios:
    bash
    autobase push

Notas

  • El archivo autobase.json puede subirse a Git (no contiene secretos)
  • El comando watch incluye debounce y deduplicación de eventos para evitar sincronizaciones innecesarias