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¶
- Ve a Commands
- Busca o navega al command deseado
- 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¶
- Ve a Commands > + Nuevo
- 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:
- En el command, ve a Historial
- Verás todas las ejecuciones con:
- Estado (éxito/fallo)
- Parámetros usados
- Duración
- Usuario que ejecutó
Siguiente: Mi cuenta - Gestión de tu cuenta.