OTOBO & Znuny Staging System – Migração e Ambiente de Teste Seguro
Um sistema de staging é o ambiente perfeito para testar com segurança as alterações no sistema de tickets – seja em OTOBO ou Znuny. É uma cópia exata do sistema de produção, onde funcionalidades, configurações e dados são migrados, testados e validados – sem afetar o sistema em tempo real.
INFO
🗾 Compatibilidade: Os passos descritos neste artigo aplicam-se igualmente a OTOBO 11.x e Znuny 6.x+. As diferenças nos ficheiros de configuração são mínimas e serão assinaladas quando necessário.
🔄 Visão Geral: Fluxo de Migração do Sistema de Staging
- Preparar o sistema de desenvolvimento
- Configurar o sistema de staging
- Copiar dados de produção
- Testar o staging
- Implementar staging para produção (opcional)
✅ Vantagens de um Sistema de Staging
- Teste seguro de configuração, código personalizado e pacotes
- Testes automatizados de ponta a ponta com, por exemplo, Playwright
- Testes em conformidade com o GDPR após anonimização
- Testes de restauração e verificação de backup
🛠 Pré-requisitos
- Ubuntu 20.04+ ou Debian 10+
- Docker (recomendado) ou instalação manual no Linux
- Recursos de sistema suficientes (8 GB RAM, 4 CPUs)
- Acesso a dados de produção atuais (base de dados e sistema de ficheiros)
- Envio de e-mail desativável (por exemplo, através de Dummy SMTP)
🧱 Guia Passo a Passo
1. Configurar o Sistema de Staging
Recomenda-se uma instalação Docker:
sudo apt install docker.io docker-compose
cd /opt
git clone https://github.com/RotherOSS/otobo-docker.git --branch rel-11_0
cd otobo-docker
cp .docker_compose_env_https .env
nano .env # Definir OTOBO_DB_ROOT_PASSWORD2. Limpar o Sistema de Desenvolvimento
Se estiver a usar um sistema de desenvolvimento como base:
# Apagar tickets e anexos
bin/otobo.Console.pl Admin::Delete::Tickets --older 1d --state closed --really
rm -rf /opt/otobo/var/article/*3. Copiar Dados de Produção
# Fazer backup da base de dados (sistema de produção)
mysqldump -u root -p otobo > /tmp/otobo_prod.sql
# Fazer backup de artigos e kernel
rsync -avz /opt/otobo/Kernel /tmp/Kernel
rsync -avz /opt/otobo/var/article /tmp/articleImportar no Staging:
# Importar DB
mysql -u root -p otobo_staging < /tmp/otobo_prod.sql
# Copiar sistema de ficheiros
rsync -avz /tmp/Kernel /opt/otobo/Kernel
rsync -avz /tmp/article /opt/otobo/var/article🔐 Privacidade de Dados: Anonimize todos os dados de clientes produtivos, por exemplo, na tabela
customer_user, ou remova endereços de e-mail com um script SQL.
4. Ajustar Configuração
# Kernel/Config.pm
$Self->{'Database'}{'Name'} = 'otobo_staging';
$Self->{'Database'}{'User'} = 'otobo';
$Self->{'Database'}{'Password'} = 'SENHA_DE_STAGING';5. Impedir Envio de E-mail
Em SysConfig:
- Definir
SendmailModuleparaKernel::System::Email::DoNotSendEmail - Alternativamente: Alterar o servidor SMTP para
127.0.0.1e a porta para1
🔬 Testes no Staging
- Utilizar scripts Playwright ou Cypress para testes de UI
- Usar
bin/otobo.Console.pl Maint::Test::System - Verificar a integridade dos dados e o comportamento da UI
- Desativar integrações como LDAP ou Web Services ou redirecioná-las para servidores de teste
🔐 Proteger o Staging
- Restringir o acesso via VPN ou lista de permissão de IP
- Definir
robots.txtpara impedir a indexação - Se necessário, implementar Basic Auth via Nginx
- Proteger SSL com um certificado SAN ou Wildcard (
*.staging.example.com)
🔄 Opcional: Implementar Staging para Produção
Quando os testes no staging forem concluídos:
- Parar o servidor de produção
- Copiar a base de dados e os diretórios de staging para produção
- Ajustar
Config.pm - Reiniciar a produção
🧪 Ferramentas Exemplares para Automação
Playwright(para testes E2E)rsyncpara transferência rápida de dadosdocker-composepara ambiente orquestradocronousystemdpara backups regulares- Scripts Python para anonimização ou migração de estrutura
Conclusão
Um sistema de staging OTOBO ou Znuny oferece segurança máxima ao introduzir alterações. Através de migração estruturada, dados de teste anonimizados e testes automatizados, evita falhas e garante implementações estáveis.
🔁 Dica: Integre os processos de staging na sua pipeline CI/CD para garantir a qualidade automatizada em cada alteração.