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 alterações no sistema de tickets de forma segura – seja no OTOBO ou no Znuny. Trata-se de uma cópia exata do sistema de produção, onde funções, configurações e dados são migrados, testados e validados – sem influenciar no sistema ao vivo.

INFO

🗾 Compatibilidade: As etapas descritas neste artigo se aplicam igualmente ao OTOBO 11.x e Znuny 6.x+. Diferenças em arquivos de configuração são mínimas e são indicadas 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. Implantar o staging em 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
  • Teste DSGVO-conforme 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 do Linux
  • Recursos de sistema suficientes (8 GB de RAM, 4 CPUs)
  • Acesso a dados de produção atuais (banco de dados e sistema de arquivos)
  • Envio de e-mail desativável (por exemplo, por meio de Dummy-SMTP)

Testes bem-sucedidos

Testes malsucedidos

Recursos prontos para teste

Limpar sistema de desenvolvimento, excluir tickets

Copiar do desenvolvimento para o staging

Aguardar janela de manutenção

Segurar dados de produção, banco de dados e arquivos

Transferir dados de produção para o staging

Ajustar configuração no staging

Desativar envio de e-mail

Executar teste

Opcional: Copiar do staging para a produção

Corrigir erros e testar novamente

Ativar produção

Conclusão do deploy

z4i9n6

🧱 Instruções Passo a Passo

1. Configurar o Sistema de Staging

Recomenda-se uma instalação do 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 você estiver usando um sistema de desenvolvimento como base:

bash
# Excluir 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
# Segurar banco de dados (sistema de produção)
mysqldump -u root -p otobo > /tmp/otobo_prod.sql

# Segurar artigos e kernel
rsync -avz /opt/otobo/Kernel /tmp/Kernel
rsync -avz /opt/otobo/var/article /tmp/article

Importar no Staging:

bash
# Importar banco de dados
mysql -u root -p otobo_staging < /tmp/otobo_prod.sql

# Copiar sistema de arquivos
rsync -avz /tmp/Kernel /opt/otobo/Kernel
rsync -avz /tmp/article /opt/otobo/var/article

🔐 Proteção 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'} = 'STAGING_PASSWORT';

5. Desativar Envio de E-mail

No SysConfig:

  • Definir SendmailModule como Kernel::System::Email::DoNotSendEmail
  • Alternativamente: alterar o servidor SMTP para 127.0.0.1 e porta 1

🔬 Testes no Staging

  • Use scripts Playwright ou Cypress para testes de UI
  • Use bin/otobo.Console.pl Maint::Test::System
  • Verifique a integridade dos dados e o comportamento da UI
  • Desative integrações como LDAP ou serviços web ou redirecione para servidores de teste

🔐 Segurança do Staging

  • Restringir o acesso via VPN ou lista de permissões de IP
  • Definir robots.txt para evitar indexação
  • Talvez adicione autenticação básica via Nginx
  • Proteger com certificado SAN ou wildcard (*.staging.example.com)

🔄 Opcional: Implantar Staging em Produção

Se tudo foi testado no staging:

  1. Pare o servidor de produção
  2. Copie a base de dados e os diretórios do staging para a produção
  3. Ajuste o Config.pm
  4. Reinicie a produção

🧪 Ferramentas Exemplares para Automação

  • Playwright (para testes de ponta a ponta)
  • rsync para transferência de dados rápida
  • 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 para OTOBO ou Znuny oferece segurança máxima ao introduzir alterações. Por meio de migração estruturada, dados de teste anonimizados e testes automatizados, você evita falhas e garante implantações estáveis.

🔁 Dica: Integre os processos de staging em sua pipeline CI/CD para garantir a qualidade automática em cada alteração.