Guias

Como configurar um ambiente de staging para o seu app

Para configurar um ambiente de staging, publique uma segunda cópia do seu app em uma URL privada própria, dê a ela um banco de dados próprio e chaves de API de teste, e faça-a espelhar a configuração da produção o máximo possível. Depois, lance toda mudança significativa primeiro no staging, execute os fluxos importantes e só publique na produção quando o staging estiver certo.

Se você é novo no conceito, o que é um ambiente de staging explica a ideia. Este guia é a configuração prática, pensada para quem constrói com ferramentas de IA e não gerencia uma equipe de DevOps.

Desenvolvimento, staging e produção

A maioria dos apps pequenos precisa de três lugares, mesmo que o primeiro seja só a pré-visualização do seu construtor:

AmbienteQuem usaDadosChaves
DesenvolvimentoVocê, enquanto constróiDescartáveisDe teste
StagingVocê e revisores, antes do lançamentoCópia de teste ou higienizadaDe teste
ProduçãoUsuários reaisReaisReais

O objetivo do staging é se comportar como a produção (mesmo código, mesma stack, mesmo tipo de configuração), mas um erro ali não prejudica ninguém.

Passo 1: decida o que o staging precisa espelhar

O staging só é útil se os problemas aparecerem ali antes de aparecerem em produção. Espelhe:

  • O mesmo código, lançado da mesma forma.
  • A mesma stack e as mesmas versões: framework, runtime, tipo de banco de dados.
  • O mesmo tipo de configuração: os mesmos nomes de variáveis de ambiente, com valores de teste.
  • Os mesmos serviços: se a produção tem um app web e uma API, o staging tem os dois.

Ele pode ser diferente em tamanho (uma máquina menor está bem) e em dados.

Passo 2: crie a cópia

A abordagem mais simples: um segundo deploy do mesmo projeto, em outra URL, como staging.seuapp.com ou seuapp-staging.exemplo.com.

Como você faz isso depende da sua hospedagem:

  • Hospedagens com deploys de preview ou staging integrados podem criar um automaticamente para uma branch do Git.
  • Hospedagens sem isso: crie um segundo app ou projeto a partir do mesmo código e faça o deploy separadamente.
  • Código no Git: mantenha uma branch staging ou main que faz deploy para o staging, e faça deploy da produção a partir de uma release. Veja como usar o Git com um app criado por IA.

Passo 3: dê ao staging o seu próprio banco de dados

Este é o passo que protege você. Se staging e produção compartilham um banco de dados, um teste que apaga registros apaga registros reais.

  • Crie um banco de dados separado para o staging.
  • Preencha-o com dados de seed: registros falsos mas realistas, que a IA pode gerar para você.
  • Se precisar de uma cópia dos dados de produção, remova ou embaralhe nomes, e-mails e qualquer dado pessoal antes.

Escreva um script de seed que preencha um banco vazio com dados de teste realistas: 20 clientes, 50 pedidos em estados diferentes e dois usuários administradores. Use nomes claramente falsos e endereços de e-mail do example.com.

Antes de confiar na configuração, confirme a qual banco de dados cada cópia se conecta. Pergunte diretamente:

A qual banco de dados este app se conecta, e de onde vem essa configuração? Mostre o nome da variável, não a senha.

Passo 4: use chaves de teste e configurações separadas

Tudo o que se comunica com um serviço externo deve usar credenciais de teste no staging:

  • Pagamentos no modo de teste (chaves de teste do Stripe, por exemplo), para que nenhum cartão real seja cobrado.
  • E-mail enviado para um sandbox ou apenas para o seu próprio endereço, para que clientes nunca recebam uma mensagem de teste.
  • IA e outras APIs pagas com uma chave separada e um limite de gasto baixo.
  • Webhooks apontando para a URL do staging, e não da produção.

Mantenha os nomes das variáveis iguais nos dois ambientes e mude apenas os valores. Assim o código não precisa saber onde está rodando. Para mais sobre isso, veja como manter as chaves de API seguras.

Passo 5: mantenha o staging privado

O staging não deve ser público:

  • Coloque-o atrás de um login, de uma senha ou de uma lista de permissão com os e-mails da equipe.
  • Impeça que buscadores o indexem com uma meta tag noindex ou com o cabeçalho X-Robots-Tag.
  • Não crie links para ele a partir do seu site público.
  • Deixe-o com aparência diferente: um banner colorido “STAGING” evita testar na aba errada.

Adicione um banner amarelo chamativo no topo de cada página com o texto "STAGING — apenas dados de teste" quando a variável de ambiente APP_ENV for "staging". Nesse caso, adicione também uma meta tag noindex.

Passo 6: crie uma rotina de lançamento

O staging só ajuda se você o usa toda vez. Uma rotina simples:

  1. Faça a mudança em desenvolvimento e verifique na pré-visualização.
  2. Lance para o staging.
  3. Percorra os fluxos principais: cadastro, login, a funcionalidade principal, pagamentos, tudo o que a mudança tocou.
  4. Se algo quebrar, corrija e lance de novo para o staging.
  5. Publique a mesma versão na produção.
  6. Verifique a produção rapidamente: os mesmos fluxos, de forma breve.

Anote os fluxos principais em um roteiro curto de testes. Veja como testar seu app antes do lançamento para saber o que incluir.

Passo 7: cuide das mudanças no banco de dados

Mudanças na estrutura do banco, como adicionar uma coluna ou renomear uma tabela, são onde o staging mais se paga.

  • Execute toda mudança estrutural primeiro no staging.
  • Confirme que os dados existentes sobreviveram, não apenas que os recursos novos funcionam.
  • Faça um backup da produção antes de rodar a mesma mudança lá. Veja como fazer backup do banco de dados do seu app.
  • Prefira mudanças que adicionem em vez de renomear ou apagar, para que a versão antiga ainda funcione se você precisar reverter.

Exemplos de prompts

Explique o que aconteceria com os dados existentes se rodássemos esta mudança de banco de dados na produção. Algo é apagado ou renomeado?

Faça com que todas as configurações específicas de ambiente (URLs de API, chaves, remetente de e-mail, a própria URL do site) venham de variáveis de ambiente com os mesmos nomes no staging e na produção. Liste-as.

Escreva um checklist curto com os fluxos que eu devo testar no staging antes de cada lançamento, com base no que este app faz.

Erros comuns

  • Banco de dados compartilhado. O erro mais danoso. O staging sempre tem o seu próprio.
  • Chaves reais no staging. Cobranças reais, e-mails reais para clientes reais.
  • O staging se afasta da produção. Versões ou configurações diferentes fazem o staging parar de pegar problemas.
  • Um site de staging público e indexado que aparece nos resultados de busca ao lado do seu site real.
  • Pular o staging em mudanças “pequenas”. Mudanças pequenas também quebram coisas.
  • Testar na aba errada. Um banner visível resolve.

Checklist

  • O staging roda o mesmo código, a mesma stack e os mesmos serviços da produção.
  • O staging tem o seu próprio banco de dados, com dados de teste ou higienizados.
  • Pagamentos, e-mail e APIs pagas usam chaves de teste no staging.
  • Os nomes das variáveis são iguais nos ambientes; só os valores mudam.
  • O staging está atrás de login ou senha e não é indexado.
  • Um banner aparece quando você está no staging.
  • Todo lançamento passa pelo staging primeiro, com uma lista escrita de fluxos a testar.
  • Mudanças de banco de dados rodam primeiro no staging, com backup da produção antes do lançamento.

Staging no Mythex

O Publish do Mythex oferece uma URL publicada por app; não há um botão separado de staging. Na prática, você tem duas opções:

  • Preview como verificação antes do lançamento. Cada projeto roda em um workspace privado na nuvem com um Preview ao vivo. O /test faz o agente navegar pelo app como um usuário, e um link de Compartilhar permite que um cliente ou colega revise o preview sem publicar. Veja Preview e código. Para muitos projetos individuais, isso basta.
  • Um segundo projeto como staging. No plano Pro, exporte o projeto e importe-o em um novo projeto, dê a ele um banco de dados próprio e segredos com chaves de teste, e publique-o em um slug próprio. Lance para ele antes de publicar o projeto de produção.

De qualquer forma, pergunte ao agente qual banco de dados o preview e o app publicado usam antes de testar qualquer coisa destrutiva, e use checkpoints para reverter uma mudança ruim. Para colocar um app no ar de forma mais ampla, veja como levar um protótipo de IA para a produção.

Perguntas

Qual é a forma mais fácil de configurar um ambiente de staging?

Publique uma segunda cópia do seu app em uma URL própria, dê a ela um banco de dados próprio e chaves de API de teste, e crie o hábito de lançar para ela antes da produção. Você não precisa de ferramentas especiais para começar; precisa de separação e de uma rotina.

O staging deve usar uma cópia dos dados de produção?

Use dados de teste sempre que possível. Se precisar de dados realistas, copie a produção e remova ou embaralhe as informações pessoais antes. Nunca aponte o staging para o banco de dados de produção.

Como impedir que buscadores e estranhos encontrem o meu site de staging?

Coloque o staging atrás de um login ou senha e diga aos buscadores para não indexá-lo, com uma tag noindex ou um cabeçalho robots. Não crie links para ele a partir do seu site público.

Um ambiente de staging dobra os custos de hospedagem?

Normalmente não. O staging recebe pouquíssimo tráfego, então, em uma hospedagem que coloca apps ociosos em modo de espera, custa uma fração da produção. Mantenha-o pequeno e deixe-o dormir entre os testes.

Mythex · Pricing · Crie qualquer coisa com IA · Templates de sites e apps · Mythex comparado · Glossário de criação de apps com IA · Ferramentas grátis para criar apps com IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)