Sistema de Staging de OTOBO – Migración y entorno de pruebas seguro
Sistema de Staging de OTOBO – Migración y entorno de pruebas seguro
Sección titulada «Sistema de Staging de OTOBO – Migración y entorno de pruebas seguro»
Un sistema de Staging es el entorno perfecto para probar cambios en el sistema de tickets de forma segura, ya sea en OTOBO o Znuny. Se trata de una copia exacta del sistema de producción en la que se migran, prueban y validan funciones, configuraciones y datos, sin afectar al sistema en vivo.
🗾 Compatibilidad: Los pasos descritos en este artículo se aplican por igual a OTOBO 11.x y Znuny 6.x+. Las diferencias en los archivos de configuración son mínimas y se señalarán cuando sea necesario.
🔄 Resumen: Flujo de migración del sistema de Staging
Sección titulada «🔄 Resumen: Flujo de migración del sistema de Staging»- Preparar el sistema de desarrollo
- Configurar el sistema de Staging
- Copiar los datos de producción
- Probar el Staging
- Desplegar el Staging a producción (opcional)
✅ Ventajas de un sistema de Staging
Sección titulada «✅ Ventajas de un sistema de Staging»- Pruebas seguras de configuración, código personalizado y paquetes
- Pruebas automatizadas de extremo a extremo (End-to-End) con, por ejemplo, Playwright
- Pruebas conformes al RGPD tras la anonimización
- Pruebas de restauración y verificación de backups
🛠 Requisitos previos
Sección titulada «🛠 Requisitos previos»- Ubuntu 20.04+ o Debian 10+
- Docker (recomendado) o instalación manual en Linux
- Recursos de sistema suficientes (8 GB RAM, 4 CPUs)
- Acceso a datos de producción actuales (BD y sistema de archivos)
- Posibilidad de desactivar el envío de correos electrónicos (p. ej., mediante un SMTP ficticio)
flowchart TD
A[Funcionalidad lista para prueba] --> B[Limpiar sistema Dev y borrar tickets]
B --> C[Copiar Dev -> Staging]
C --> D[Esperar ventana de mantenimiento]
D --> E[Realizar backup de datos de producción BD y archivos]
E --> F[Transferir datos de producción al Staging]
F --> G[Ajustar configuración en Staging]
G --> H[Desactivar envío de correos]
H --> I[Ejecutar pruebas]
I -->|Pruebas exitosas| J[Opcional: Copiar Staging -> Producción]
I -->|Pruebas fallidas| K[Corregir errores y volver a probar]
J --> L[Activar producción]
L --> M[Listo: Despliegue completado]
style D fill:#a9a,stroke:#333,stroke-width:1px
style I fill:#aae,stroke:#333,stroke-width:1px
style J fill:#9a9,stroke:#333,stroke-width:1px
style K fill:#a99,stroke:#333,stroke-width:1px
🧱 Guía paso a paso
Sección titulada «🧱 Guía paso a paso»1. Configurar el sistema de Staging
Sección titulada «1. Configurar el sistema de Staging»Se recomienda una instalación con Docker:
sudo apt install docker.io docker-composecd /optgit clone https://github.com/RotherOSS/otobo-docker.git --branch rel-11_0cd otobo-dockercp .docker_compose_env_https .envnano .env # Establecer OTOBO_DB_ROOT_PASSWORD2. Limpiar el sistema de desarrollo
Sección titulada «2. Limpiar el sistema de desarrollo»Si utiliza un sistema de desarrollo como base:
# Borrar tickets y adjuntosbin/otobo.Console.pl Admin::Delete::Tickets --older 1d --state closed --reallyrm -rf /opt/otobo/var/article/*3. Copiar los datos de producción
Sección titulada «3. Copiar los datos de producción»# Realizar backup de la base de datos (sistema de producción)mysqldump -u root -p otobo > /tmp/otobo_prod.sql
# Realizar backup de artículos y Kernelrsync -avz /opt/otobo/Kernel /tmp/Kernelrsync -avz /opt/otobo/var/article /tmp/articleImportar en el Staging:
# Importar BDmysql -u root -p otobo_staging < /tmp/otobo_prod.sql
# Copiar sistema de archivosrsync -avz /tmp/Kernel /opt/otobo/Kernelrsync -avz /tmp/article /opt/otobo/var/article🔐 Protección de datos: Anonimice todos los datos de clientes de producción, por ejemplo, en la tabla
customer_user, o elimine las direcciones de correo electrónico con un script SQL.
4. Ajustar la configuración
Sección titulada «4. Ajustar la configuración»$Self->{'Database'}{'Name'} = 'otobo_staging';$Self->{'Database'}{'User'} = 'otobo';$Self->{'Database'}{'Password'} = 'CONTRASEÑA_STAGING';5. Impedir el envío de correos electrónicos
Sección titulada «5. Impedir el envío de correos electrónicos»En SysConfig:
- Establecer
SendmailModuleenKernel::System::Email::DoNotSendEmail - Alternativamente: cambiar el servidor SMTP a
127.0.0.1y puerto1
🔬 Pruebas en el Staging
Sección titulada «🔬 Pruebas en el Staging»- Utilizar scripts de Playwright o Cypress para pruebas de UI
- Usar
bin/otobo.Console.pl Maint::Test::System - Verificar la integridad de los datos y el comportamiento de la UI
- Desactivar integraciones como LDAP o servicios web, o redirigirlos a un servidor de pruebas
🔐 Asegurar el Staging
Sección titulada «🔐 Asegurar el Staging»- Restringir el acceso mediante VPN o lista blanca de IP
- Configurar
robots.txtpara evitar la indexación - Si es necesario, implementar Basic-Auth mediante Nginx
- Asegurar SSL mediante certificado SAN o Wildcard (
*.staging.example.com)
🔄 Opcional: Desplegar el Staging a producción
Sección titulada «🔄 Opcional: Desplegar el Staging a producción»Una vez realizadas todas las pruebas en el Staging:
- Detener el servidor de producción
- Copiar la base de datos y los directorios del Staging a producción
- Ajustar
Config.pm - Reiniciar la producción
🧪 Herramientas de ejemplo para la automatización
Sección titulada «🧪 Herramientas de ejemplo para la automatización»Playwright(para pruebas E2E)rsyncpara una transferencia de datos rápidadocker-composepara un entorno orquestadocronosystemdpara backups regulares- Scripts de Python para anonimización o migración de estructuras
Conclusión
Sección titulada «Conclusión»Un sistema de Staging de OTOBO o Znuny ofrece la máxima seguridad al introducir cambios. Mediante una migración estructurada, datos de prueba anonimizados y pruebas automatizadas, evitará interrupciones y garantizará despliegues estables.
🔁 Consejo: Integre los procesos de Staging en su pipeline de CI/CD para una garantía de calidad automatizada en cada cambio.