CI/CD E INFRAESTRUCTURA

DOCUMENTACIÓN TÉCNICA: ENTORNO AUTOMATIZADO DE CI/CD E INFRAESTRUCTURA

Ficha Técnica del Entorno

Parámetro

Detalle

Proyecto

hwbus-io

Arquitectura

Orquestación Local / Remota sobre KVM/QEMU

Ubicación de Scripts

Scripts/

Visión General del Sistema

El entorno automatizado de integración continua y gestión de infraestructura virtualizada del proyecto hwbus-io está diseñado bajo una arquitectura modular y distribuida entre la Estación de Trabajo (WS) y el nodo de compilación/ejecución (buildlab).

La jerarquía de directorios del subsistema de scripts se organiza de la siguiente manera:

Scripts/
├── ci-builder.sh
├── ci-runLauncher.sh
├── ci-runner.sh
├── ci-signer.sh
├── Envs/
│   ├── vm-poll.sh
│   ├── vm-start.sh
│   ├── vm-status.sh
│   └── vm-stop.sh
└── Tools/
└── herramientas.sh

Módulos de Infraestructura Virtual (IV)

Ubicados en el directorio Scripts/Envs/, estos scripts gestionan el ciclo de vida de las máquinas virtuales en el hipervisor local garantizando exclusión mutua y verificación de red.

Scripts de Control de Infraestructura

Script

Contexto / Permisos

Descripción Operativa

vm-start.sh

sudo -u virt-admin

Inicia la máquina virtual objetivo (ej. buildlab) asegurando exclusión mutua frente a otros entornos activos.

vm-poll.sh

Usuario Estándar

Realiza un sondeo activo (polling) sobre un socket TCP (puerto SSH 22) con reintentos y tiempo límite de espera.

vm-status.sh

sudo -u virt-admin

Consulta y reporta el estado actual de las instancias KVM/QEMU gestionadas por virt-admin.

vm-stop.sh

sudo -u virt-admin

Detiene la máquina virtual especificada liberando los recursos de hardware asociados.

Pipeline de Integración Continua (CI)

Ubicados en la raíz de Scripts/, orquestan el ciclo completo de compilación, ejecución de tests, firmado y empaquetado.

Scripts del Pipeline de CI

Script

Función y Flujo de Trabajo

ci-builder.sh

Orquestador principal desde la WS. Enciende la infraestructura mediante vm-start.sh y vm-poll.sh, purga logs remotos, ejecuta los targets make (versión kernel .ko o tests LTP) vía SSH en buildlab, invoca el firmado remoto y libera los recursos mediante vm-stop.sh.

ci-runLauncher.sh

Lanza y prepara el entorno para la ejecución remota de la suite de pruebas.

ci-runner.sh

Ejecuta la batería de pruebas y captura de métricas directamente dentro del entorno objetivo.

ci-signer.sh

Script ejecutado en el nodo remoto (buildlab) para la generación de manifiestos, estados de compilación y firmas digitales de los artefactos resultantes.

Herramientas Auxiliares

Ubicadas en Scripts/Tools/.

Módulos Auxiliares

Script

Descripción

herramientas.sh

Conjunto de funciones comunes y utilidades de soporte compartidas entre los scripts del pipeline.