Skip to content

OTOBO & Znuny Staging System – Migração e Ambiente de Teste Seguro

https://softoft.sirv.com/Images/otobo-staging-2.png 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

  1. Preparar o sistema de desenvolvimento
  2. Configurar o sistema de staging
  3. Copiar dados de produção
  4. Testar o staging
  5. 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:

bash
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_PASSWORD

2. Limpar o Sistema de Desenvolvimento

Se estiver a usar um sistema de desenvolvimento como base:

bash
# 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

bash
# 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/article

Importar no Staging:

bash
# 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

perl
# 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 SendmailModule para Kernel::System::Email::DoNotSendEmail
  • Alternativamente: Alterar o servidor SMTP para 127.0.0.1 e a porta para 1

🔬 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.txt para 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:

  1. Parar o servidor de produção
  2. Copiar a base de dados e os diretórios de staging para produção
  3. Ajustar Config.pm
  4. Reiniciar a produção

🧪 Ferramentas Exemplares para Automação

  • Playwright (para testes E2E)
  • rsync para transferência rápida de dados
  • docker-compose para ambiente orquestrado
  • cron ou systemd para 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.