docs

Ambientes

Staging, ambientes de PR e sincronização entre ambientes. Cada ambiente tem a sua própria cópia de todos os serviços.

Todo projeto começa com um ambiente, production. Você pode criar outros ambientes no mesmo projeto: um staging que fica no ar, ou um ambiente temporário para cada pull request.

Cada ambiente tem a sua própria cópia de todos os serviços do projeto, com variáveis, bancos de dados, volumes e endereços próprios. Um serviço de staging só enxerga os serviços e bancos de staging: nada que você faz em um ambiente chega aos outros.

Planos: ambientes além de production estão disponíveis a partir do plano Pro. No plano Vibe, o projeto tem só production.

Criar um ambiente

No canvas do projeto, abra o seletor de ambiente no topo e escolha Novo ambiente. Dê um nome (letras minúsculas, números e hífens) e escolha o ponto de partida:

  • Duplicar um ambiente existente: o novo ambiente recebe uma cópia dos serviços, das configurações, das variáveis e dos volumes do ambiente escolhido. Os serviços conectados ao GitHub fazem deploy logo em seguida, a partir da branch de cada um.
  • Ambiente vazio: começa sem serviços, e você adiciona o que precisar.

O que não é copiado:

  • Dados dos bancos. Cada banco do novo ambiente começa vazio. Para preparar os dados, configure um seed.
  • Credenciais dos bancos. Cada banco do novo ambiente tem as suas. As variáveis que a Veloz injeta e as referências como ${{postgres.url}} apontam para os bancos do próprio ambiente.
  • Domínios personalizados. Os serviços web recebem um endereço próprio no primeiro deploy, e você conecta outro domínio se quiser.

As outras variáveis são copiadas como estão. Se você colou a URL de um banco de production em uma variável, troque por uma referência antes de duplicar, ou o novo ambiente vai usar o banco de production.

Os blob stores são do projeto e ficam disponíveis em todos os ambientes.

Trocar de ambiente

O seletor no topo do canvas mostra o ambiente aberto. Tudo que você cria com o canvas aberto em um ambiente (serviços, bancos, volumes) entra nesse ambiente.

Cada serviço recebe a variável VELOZ_ENVIRONMENT_NAME com o nome do seu ambiente, para o app saber onde está rodando (veja variáveis do sistema).

Ambientes de PR

Cada pull request pode ganhar um ambiente temporário, com os serviços apontando para a branch do PR. A Veloz comenta no PR com o endereço de cada serviço e remove o ambiente quando o PR é mesclado ou fechado. Veja Ambientes de PR.

Serviços por ambiente

Um serviço pode ficar desligado em um ambiente, sem rodar e sem ser cobrado, ou ficar sem deploy automático. Veja Serviços por ambiente.

Seed dos novos ambientes

Um comando do seu repositório pode preparar os dados de cada novo ambiente, com acesso somente leitura aos bancos do ambiente base. Veja Seed dos novos ambientes.

Sincronizar ambientes

Leve configurações, variáveis e serviços de um ambiente para outro, revisando cada mudança antes de aplicar. Veja Sincronizar ambientes.

Deploy pela CLI

veloz deploy --env staging faz deploy em um ambiente, e os outros comandos da CLI também aceitam --env. Veja Ambientes pela CLI.

Remover um ambiente

Abra o ambiente no canvas, use Remover no seletor de ambiente e confirme. Os serviços, bancos, volumes e endereços do ambiente são removidos, e a cobrança deles para no momento da remoção.

O ambiente production só é removido junto com o projeto. Remover o projeto remove todos os ambientes dele.

Cobrança

Os serviços de cada ambiente são cobrados como qualquer outro serviço, pelo tempo em que ficam no ar. Um serviço desligado no ambiente não é cobrado. Um ambiente de PR para de ser cobrado quando o PR é mesclado ou fechado.

Próximos passos