Deploy

CLI de Deploy e Automação

A CLI da Zenifra permite listar projetos, criar recursos e disparar deploys a partir do terminal, scripts e pipelines.

Esta página resume os comandos de deploy e automação. Para a referência completa da ferramenta, acesse CLI da Zenifra.

Use a CLI quando você quer operar a Zenifra sem abrir o console: criar um projeto, consultar o catálogo de planos, listar recursos, disparar deploys e acompanhar builds.

Começo rápido

npm install -g @zenifra/cli
zenifra auth login
zenifra projects --type http --page 1 --limit 15
zenifra create project
zenifra deploy --project <project-id> --branch main
zenifra deploy watch --project <project-id> --build <build-id>

No fluxo GitHub, zenifra deploy dispara a build e retorna build_id. Em seguida, zenifra deploy watch acompanha status e logs incrementais até o fim.

Para ver todos os comandos disponíveis:

zenifra --help
zenifra help create project

Comandos incompletos como zenifra deploy, zenifra deploy watch e zenifra builds abrem a ajuda específica do próprio comando.

Autenticação

Login de usuário

Use login de usuário para navegar entre organizações:

zenifra auth login
zenifra orgs
zenifra org set

Esse modo é indicado para uso interativo no terminal.

API key para automação

Para CI/CD e jobs server-side, crie uma API key da organização e use:

export ZENIFRA_API_KEY=znf_sua_chave
zenifra projects --type http --page 1 --limit 15
zenifra deploy --project <project-id> --branch main

Também é possível salvar a chave na sessão local:

zenifra auth api-key --key znf_sua_chave

API keys já carregam a organização vinculada. Por isso, comandos de automação não exigem org set.

Criar projeto pelo terminal

Rode zenifra create project sem flags quando quiser seguir o wizard interativo. Ele pergunta os campos necessários, mostra exemplos e deixa explícito quais valores precisam ser informados.

$ zenifra create project

Zenifra create project

? Nome do projeto: app-api
? Descrição: API principal do produto
? Tipo do projeto: http
? Plano: free
? Modo de pagamento: hourly
? Origem do deploy: github
? Repository owner: minha-org
? Repository name: app-api
? Branch: main
? Runtime: nodejs
? Runtime version: 24
? Auto-deploy: sim
? Start command: npm start
? Build command: npm run build
? Porta HTTP: 3000
? Instâncias: 1
? Storage persistente: nao
? Variáveis de ambiente: sim
? Nome da variável: NODE_ENV
? Valor da variável: production
? Deseja adicionar mais um item? nao

Resumo
  projeto: app-api | plano: free | pagamento: hourly
  github: minha-org/app-api@main | runtime nodejs@24
  porta: 3000 | instâncias: 1

Campo    Valor
-------  --------------------------------------
Projeto  507f1f77bcf86cd799439012
Dominio  https://app-api.client.zenifra.com

O comando acima é uma simulação do fluxo. Os valores reais devem refletir seu repositório, plano, porta, runtime e variáveis.

Exemplos comuns

Listar projetos HTTP:

zenifra projects --type http --page 1 --limit 15

A listagem de projetos e paginada por padrao com 15 itens por pagina. Para navegar, use --page <n>; para automacoes que precisam de outro tamanho, use --limit <n>.

Criar projeto a partir de um arquivo de configuração:

zenifra create project \
  --name app-api \
  --plan free \
  --payment-mode hourly \
  --config @http-project.json

No arquivo de configuração de projetos HTTP, informe exposure: "public" para criar rota/domínio público ou exposure: "private" para manter a aplicação sem exposição na internet.

Depois da criação, altere a exposição com:

zenifra project exposure set --project <project-id> --exposure public
zenifra project exposure set --project <project-id> --exposure private

Use private para automações, jobs internos e aplicações que não precisam receber tráfego público.

Disparar deploy:

zenifra deploy --project <project-id> --branch main

Acompanhar esse build:

zenifra deploy watch --project <project-id> --build <build-id>

Reabrir logs de um build específico:

zenifra builds logs --project <project-id> --build <build-id>
zenifra builds logs --project <project-id> --build <build-id> --follow

Listar builds já existentes:

zenifra builds --project <project-id>

Use builds quando você precisa descobrir build_id. Use deploy watch quando já tem um build específico para acompanhar.

Consultar planos antes de criar:

zenifra plans --type http

Segurança

  • use ZENIFRA_API_KEY em secrets do provedor de CI;
  • configure IP allowlist quando o runner tem IP fixo;
  • conceda apenas as permissões necessárias;
  • rotacione e revogue chaves antigas.

Próximos passos