Saltar a contenido

Commands

Los Commands son flujos de trabajo avanzados predefinidos que combinan múltiples acciones en una sola ejecución.

¿Qué son los commands?

Un command es una secuencia automatizada que:

  • Ejecuta múltiples pasos en orden
  • Combina diferentes herramientas y agentes
  • Proporciona workflows reutilizables
  • Simplifica tareas complejas

Diferencia con tareas

Aspecto Tareas Commands
Complejidad Una acción Múltiples pasos
Programación Cron/manual Solo manual
Contexto Fijo Puede recibir parámetros
Uso Automatización Workflows complejos

Vista general

┌─────────────────────────────────────────────────────────────────┐
│ Commands                                           [+ Nuevo]    │
├─────────────────────────────────────────────────────────────────┤
│ 🔍 Buscar...                        [Categoría ▼]               │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ Categoría: Deployment                                           │
│ ├─ 🚀 deploy-to-production                                      │
│ │     Despliega la aplicación a producción                      │
│ ├─ 🔄 rollback-deployment                                       │
│ │     Revierte al deployment anterior                           │
│ └─ 🧪 deploy-to-staging                                         │
│       Despliega a entorno de pruebas                            │
│                                                                 │
│ Categoría: Database                                             │
│ ├─ 💾 backup-all-databases                                      │
│ │     Backup completo de todas las bases de datos               │
│ └─ 🔧 run-migrations                                            │
│       Ejecuta migraciones pendientes                            │
│                                                                 │
│ Categoría: Maintenance                                          │
│ ├─ 🧹 cleanup-old-logs                                          │
│ │     Limpia logs antiguos de todos los servicios               │
│ └─ 📊 generate-reports                                          │
│       Genera reportes semanales                                 │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Ejecutar command

1. Seleccionar command

  1. Ve a Commands
  2. Busca o navega al command deseado
  3. Haz clic para ver detalles

2. Configurar parámetros

Si el command requiere parámetros:

┌─────────────────────────────────────────────────────────────────┐
│ deploy-to-production                                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ Descripción:                                                    │
│ Despliega la última versión a los servidores de producción.     │
│ Incluye backup previo, deploy y verificación de health.         │
│                                                                 │
│ Parámetros:                                                     │
│                                                                 │
│ Versión a desplegar *                                           │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ v2.5.0                                                      │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│ Entorno                                                         │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ production                                             ▼    │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│ ☑️ Ejecutar backup antes                                        │
│ ☑️ Notificar al equipo                                          │
│                                                                 │
│                                    [Cancelar] [Ejecutar]        │
└─────────────────────────────────────────────────────────────────┘

3. Monitorear ejecución

┌─────────────────────────────────────────────────────────────────┐
│ Ejecución: deploy-to-production                    [En curso]   │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ Progreso: ████████████░░░░░░░░ 60%                              │
│                                                                 │
│ Pasos:                                                          │
│ ✅ 1. Verificar versión en repositorio                          │
│ ✅ 2. Ejecutar backup de base de datos                          │
│ ✅ 3. Detener servicios                                         │
│ 🔄 4. Desplegar nueva versión                      [En curso]   │
│ ⏳ 5. Iniciar servicios                                         │
│ ⏳ 6. Verificar health check                                    │
│ ⏳ 7. Notificar al equipo                                       │
│                                                                 │
│ Logs en tiempo real:                                            │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ [10:30:45] Copiando archivos a servidor 1...               │ │
│ │ [10:30:52] Copiando archivos a servidor 2...               │ │
│ │ [10:31:01] Actualizando configuración...                   │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│                                             [Cancelar ejecución]│
└─────────────────────────────────────────────────────────────────┘

Estructura de un command

Un command se define con:

name: deploy-to-production
description: Despliega la aplicación a producción
category: Deployment
parameters:
  - name: version
    type: string
    required: true
  - name: environment
    type: select
    options: [staging, production]
    default: production
steps:
  - name: Verificar versión
    action: git.check_tag
    with:
      tag: "{{ version }}"
  - name: Backup BD
    action: database.backup
    condition: "{{ backup_enabled }}"
  - name: Desplegar
    action: deploy.run
    with:
      version: "{{ version }}"
      env: "{{ environment }}"

Crear command

1. Nuevo command

  1. Ve a Commands > + Nuevo
  2. Define información básica

2. Añadir pasos

┌─────────────────────────────────────────────────────────────────┐
│ Editor de Command                                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ Pasos:                                          [+ Añadir paso] │
│                                                                 │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 1. 📋 Verificar prerrequisitos                    [≡] [🗑️] │ │
│ │    Acción: script.run                                       │ │
│ │    Script: check_prereqs.sh                                 │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                       ↓                                         │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 2. 💾 Backup                                      [≡] [🗑️] │ │
│ │    Acción: database.backup                                  │ │
│ │    Condición: backup_enabled == true                        │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                       ↓                                         │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 3. 🚀 Desplegar                                   [≡] [🗑️] │ │
│ │    Acción: deploy.execute                                   │ │
│ │    Parámetros: version, environment                         │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

3. Definir parámetros

Los parámetros permiten personalizar la ejecución:

Tipo Uso
string Texto libre
number Valores numéricos
boolean Checkbox
select Lista de opciones
secret Valor sensible

Commands del sistema

Nexus incluye commands predefinidos:

Command Descripción
sync-agents Sincroniza agentes desde Git
backup-project Backup completo de un proyecto
cleanup-executions Limpia ejecuciones antiguas
health-check Verifica estado del sistema

Historial de ejecuciones

Consulta ejecuciones anteriores:

  1. En el command, ve a Historial
  2. Verás todas las ejecuciones con:
  3. Estado (éxito/fallo)
  4. Parámetros usados
  5. Duración
  6. Usuario que ejecutó

Siguiente: Mi cuenta - Gestión de tu cuenta.