← Documentação

Publicar

Variáveis de ambiente

Production, Preview e Development, cifradas, e quando cada uma chega à aplicação.

Os três ambientes

AmbienteOnde vale
ProductionA aplicação publicada, a cada deploy.
PreviewOs previews de pull request.
DevelopmentNunca é publicada: desce para o seu computador com claudo env pull.

Cadastre em Variáveis, no projeto: Nome, Ambiente e Valor, e Salvar variável. Salvar com um nome que já existe no mesmo ambiente substitui o valor.

Regras

  • Nome com letras, dígitos e sublinhado, começando por letra ou sublinhado; salvo em maiúsculas. Até 128 caracteres.
  • Valor de até 16.384 caracteres. Até 300 variáveis por projeto, somando os ambientes.
  • O valor é cifrado e o painel nunca mostra de volta. Guarde uma cópia onde você já guarda segredos.

No build ou só rodando

Por padrão, a variável só existe com a aplicação rodando: segredo não entra no build nem fica na imagem. Duas exceções vão também ao build:

  • As de prefixo público, sempre: NEXT_PUBLIC_, VITE_, PUBLIC_, REACT_APP_, NUXT_PUBLIC_, EXPO_PUBLIC_, GATSBY_ e VUE_APP_. O framework embute esse valor no código do navegador, então ele precisa existir no build.
  • As marcadas com Também no build, para o que o build precisa e não é público, como o token de um pacote privado. O valor pode aparecer no log do build e ficar na imagem. Para trocar só o valor, deixe Como já está: a escolha anterior fica.

Importar de um .env

Para trazer as de um projeto que já existe, abra Colar um .env inteiro em Variáveis, escolha o ambiente e cole o arquivo (CHAVE=valor por linha, com aspas, comentários e export). É tudo ou nada: se uma linha estiver errada, nada é salvo e a linha aparece no aviso. Nomes que já existem têm o valor substituído; os sem valor são pulados. Os valores ficam como o dotenv do Node lê (o mesmo do Next.js): entre aspas duplas, só \n e \r viram quebra de linha; aspas simples e crase guardam o texto como está; # no começo do valor ou depois de espaço é comentário. Uma diferença: # colado no meio de um valor sem aspas (como senha#1) fica no valor, enquanto o dotenv cortaria ali; na dúvida, use aspas. Pelo terminal: claudo env import <projeto> .env.

Quando a mudança chega à aplicação

Variável nova ou alterada chega no próximo deploy. Para publicar sozinho, ligue Deploy ao mudar variável na Configuração: um minuto depois da última mudança em Production, sai um deploy (várias mudanças juntas viram um só).

Variáveis compartilhadas da organização

Para a chave que vários projetos usam (a do serviço de e-mail, a do monitoramento), grave uma vez em Team → Variáveis compartilhadas: nome, ambiente, valor e onde vale — nos projetos escolhidos ou em todos (inclusive os criados depois). Só Dono e Administrador mudam.

  • O projeto com uma variável de mesmo nome usa a dele; na página de variáveis do projeto, as da organização aparecem embaixo de cada ambiente, riscadas quando o projeto tem a sua.
  • Entram no deploy, no preview, no build (as marcadas e as de prefixo público) e no claudo env pull (as de Development).
  • Mudar ou apagar uma de Production marca os projetos em que ela vale; com Deploy ao mudar variável ligado, eles publicam sozinhos.
  • "Todos os projetos" não inclui projeto de imagem pronta nem de repositório público de terceiros: código que ninguém da equipe escreveu só recebe as chaves da organização se for escolhido.
  • Para trocar só os projetos ou o build, use Editar na lista e salve com o valor em branco: o valor fica como está.
  • Apagar a variável do projeto que tinha o mesmo nome faz a da organização passar a valer nele. PORT não é compartilhada: cada aplicação escuta na sua porta.
  • Até 100 por organização. Pelo terminal: claudo shared, claudo shared set RESEND_API_KEY --all e claudo shared rm RESEND_API_KEY.

Pelo terminal

claudo env set loja API_KEY            # pede o valor sem mostrar
claudo env set loja NPM_TOKEN --build  # também no build
claudo env pull loja                   # as de Development em .env.local

claudo env pull precisa do papel Desenvolvedor ou acima, tem limite de 30 por hora e cada leitura fica no histórico da organização. Instalação da CLI em API e CLI.