Recurso Pro & Business

Cada PR recebe seu próprio ambiente

Faça push de uma branch, abra um PR, receba uma URL ativa. sh0 compila, implanta e derruba ambientes de preview automaticamente. Sem scripts, sem gargalos de staging.

O que você recebe

Ambientes de preview que se implantam sozinhos, isolam completamente e se limpam quando terminam.

Auto-deploy no PR
Cada pull request dispara um deploy isolado automaticamente
Subdomínios únicos
Cada PR recebe seu próprio subdomínio como pr-123.seuapp.sh0.app
Limpeza automática por TTL
Ambientes são destruídos automaticamente após merge ou expiração do TTL
Toggle por app
Ative ou desative ambientes de preview por aplicação
Isolamento de branch
Cada branch roda em seu próprio container sem interferência
Opção de banco de dados compartilhado
Opcionalmente compartilhe um banco de dados de staging entre ambientes de preview

Como funciona

01

Ative ambientes de preview para seu app

Ative o toggle nas configurações do seu app. Escolha a duração do TTL, estratégia de banco de dados e limites de recursos.

02

Faça push de uma branch de PR

Abra um pull request no GitHub, GitLab ou Gitea. sh0 recebe o webhook e começa o build.

03

sh0 faz auto-deploy para pr-123.seuapp.sh0.app

A branch é compilada usando seu pipeline de produção e implantada em um container isolado com um subdomínio único.

04

TTL expira, ambiente auto-destruído

Quando o PR é mergeado ou fechado -- ou o TTL expira -- sh0 derruba o container e libera todos os recursos.

O pipeline de preview

Git Push
Webhook
Build
Deploy em Container Isolado
Atribuir Subdomínio
Timer TTL
Limpeza Automática

De git push a URL ativa em menos de 2 minutos -- totalmente automatizado, zero configuração

Tudo o que você precisa

Detecção automática de PR

sh0 escuta webhooks do GitHub, GitLab e Gitea. Novo PR aberto? O build começa imediatamente, sem ação manual necessária.

Subdomínio único por branch

Cada preview recebe uma URL como pr-42.meuapp.sh0.app. Compartilhe com revisores, QA ou clientes para feedback instantâneo.

TTL configurável

Defina um time-to-live de 1 hora, 24 horas, 7 dias ou customizado. Ambientes são limpos automaticamente quando o tempo expira.

Zero limpeza manual

Mergeou o PR? sh0 detecta o evento de fechamento e destrói o ambiente. Sem containers órfãos, sem recursos desperdiçados.

Mesmo pipeline de build da produção

Ambientes de preview usam exatamente o mesmo Dockerfile, etapas de build e runtime do seu deploy de produção. Sem surpresas na hora do merge.

Comentário no PR com URL

sh0 posta um comentário no seu pull request com a URL de preview ativa. Revisores clicam uma vez e veem o app rodando.

O jeito antigo

  • x Fazer deploy de staging manualmente
  • x Compartilhar um ambiente de staging com a equipe toda
  • x Conflitos entre PRs no staging
  • x Limpeza manual de ambientes antigos
  • x Sem testes isolados por branch
  • x Torcer para que staging seja igual à produção

O jeito sh0

  • Auto-deploy a cada PR
  • Ambiente isolado por branch
  • Subdomínio único automático
  • Limpeza automática no merge ou TTL
  • Mesmo build da produção
  • Link postado no PR automaticamente

Perguntas e respostas

Como as URLs de preview são geradas? +
sh0 cria um subdomínio usando o número do PR e nome do app: pr-undefined.undefined.sh0.app. Para domínios customizados, você pode configurar um wildcard como *.preview.seudominio.com.
O que acontece quando o PR é mergeado? +
sh0 recebe o webhook de merge/close, para o container de preview, remove a rota do subdomínio e libera todos os recursos. Totalmente automático, zero passos manuais.
Posso definir um TTL? +
Sim. Você pode configurar um TTL por app (ex.: 24 horas, 7 dias). Se o PR ficar aberto por mais tempo que o TTL, o ambiente é destruído para economizar recursos. Reabrir o PR ou fazer push de um novo commit recria o ambiente.
Ambientes de preview compartilham o banco de dados? +
Por padrão, cada preview recebe seu próprio ambiente isolado sem banco de dados. Você pode opcionalmente conectar previews a um banco de dados de staging compartilhado se seu app precisar de dados persistentes para testes.
Posso desativar ambientes de preview para apps específicos? +
Sim. Ambientes de preview são habilitados por app via um toggle nas configurações do app. Apps sem o toggle habilitado não são afetados por webhooks de PR.
O pipeline de build é idêntico ao de produção? +
Exatamente idêntico. sh0 usa a mesma detecção de stack, geração de Dockerfile, etapas de build e configuração de runtime. A única diferença é o subdomínio e o ciclo de vida do TTL.

Revise código em condições de produção

Cada PR recebe seu próprio ambiente isolado com uma URL única. Faça merge com confiança.