Jamdesk Documentation logo

Deploy pela CLI

Saiba como o comando CLI deploy do Jamdesk empacota, envia e compila sua documentação, incluindo flags, fases de build e códigos de erro.

O comando deploy empacota sua documentação, envia-a para o Jamdesk e aciona um build pelo terminal. Use-o para iterações rápidas, testar alterações ou trabalhar em projetos que não estão conectados a um repositório do GitHub.

Início rápido

jamdesk login        # First time only
jamdesk deploy       # From your project directory

Opções

FlagDescrição
--detachEnfileira o build e sai imediatamente (exibe um link para o dashboard)
--full-rebuildForça um build completo, ignorando o cache de build
--project <id>Faz o deploy em um projeto específico pelo ID (ignora a seleção interativa)
--allow-emptyPermite fazer o deploy sem páginas de conteúdo .mdx. Por padrão, a CLI se recusa a fazer o deploy de um projeto vazio, para que um diretório de trabalho incorreto não publique acidentalmente um site vazio (snippets não contam como páginas de conteúdo)

jamdesk push é um alias para jamdesk deploy.

Como funciona

1
Autenticar

Verifica se sua sessão é válida. Se o token tiver expirado, você será solicitado a executar jamdesk login.

2
Carregar configuração

Lê e valida docs.json no diretório atual.

3
Resolver projeto

projectId de docs.json. Se estiver ausente (primeiro deploy), a CLI solicita que você selecione um dos seus projetos. Sua escolha é salva novamente em docs.json, para que o próximo deploy ignore a solicitação.

Use --project <id> para substituir essa configuração.

4
Empacotar arquivos

Cria um tarball compactado da sua documentação, respeitando .gitignore. Se algum arquivo parecer conter segredos, a CLI exibirá um aviso (mas não bloqueará o upload).

5
Enviar

Envia o tarball para o Jamdesk por meio de uma URL pré-assinada. O tamanho máximo do upload é 100 MB.

6
Build

Enfileira um build e consulta o status, exibindo cada fase conforme ela é concluída. Pressione Ctrl+C para interromper a consulta; o build continuará em segundo plano.

7
Concluído

Exibe a URL ativa quando o build termina.

Fases do build

Durante a consulta, você verá cada fase ser concluída em sequência:

FaseDescrição
Extraindo arquivosDescompactando o tarball enviado
Validando configuraçãoVerificando o esquema e o conteúdo de docs.json
Preparando conteúdoProcessando arquivos MDX e ativos
Compilando documentaçãoCompilando páginas e gerando artefatos estáticos
Enviando para a CDNEnviando a saída compilada para a rede de borda
Atualizando cacheEliminando conteúdo obsoleto da CDN

Exclusões de arquivos

Os itens a seguir sempre são excluídos dos uploads, independentemente do seu .gitignore:

.git, node_modules, .next, .env, .env.*, *.pem, *.key, credentials.json, .gcloud, .DS_Store, Thumbs.db

Tudo no seu .gitignore também é excluído.

Avisos sobre arquivos secretos

A CLI exibe um aviso (mas não bloqueia) quando detecta arquivos que parecem conter segredos:

  • Arquivos .env e .env.*
  • Arquivos *.pem e *.key
  • credentials.json
  • service_account*.json
  • Arquivos que começam com secret

Adicione-os ao .gitignore para suprimir o aviso e excluí-los dos uploads.

Referência de erros

ErroCódigoCausaCorreção
Não autenticadoAUTH_REQUIREDNenhuma credencial armazenadajamdesk login
Sessão expiradaAUTH_EXPIREDFalha na atualização do tokenjamdesk login
Acesso negadoFORBIDDENVocê não é membro deste projetoVerifique a associação ao projeto no dashboard
Projeto não encontradoNOT_FOUNDID de projeto inválidoVerifique o ID ou remova projectId de docs.json
Build em andamentoBUILD_IN_PROGRESSOutro build está em execuçãoAguarde ou verifique o dashboard
Upload muito grandeTOO_LARGEO servidor rejeitou o upload (limite de 100 MB)Exclua arquivos grandes usando .gitignore
Projeto muito grandePROJECT_TOO_LARGEO tarball excede 100 MB durante o empacotamentoExclua arquivos grandes usando .gitignore
Nenhum projetoNO_PROJECTSNão há projetos na sua contaCrie primeiro um projeto no dashboard
Nenhum arquivoEMPTY_PROJECTTodos os arquivos foram excluídosVerifique o .gitignore
Nenhuma página de conteúdoNO_CONTENTNenhuma página de conteúdo .mdx encontrada (snippets não contam)Execute a partir do diretório da documentação ou passe --allow-empty se a publicação vazia for intencional
Configuração inválidaCONFIG_NOT_FOUNDdocs.json ausente ou inválidoExecute a partir da raiz do projeto e verifique a configuração
Falha no uploadUPLOAD_FAILEDProblema de rede durante o uploadVerifique a conexão com a internet e tente novamente
Falha no buildBUILD_FAILEDErro do serviço de buildVerifique os logs do build no dashboard

Solução de problemas

Apenas um build é executado por vez em cada projeto. Aguarde a conclusão do build atual e verifique o status no dashboard, em Deployments.

Certifique-se de executar o comando no diretório que contém docs.json. Execute jamdesk validate para verificar erros de configuração.

O limite de 100 MB se aplica ao tarball compactado de todos os arquivos não excluídos. Revise o que está sendo incluído. Imagens, vídeos ou arquivos de dados grandes são causas comuns; adicione-os ao .gitignore para excluí-los.

Pressione Ctrl+C para sair; o build continuará sendo executado em segundo plano. Verifique o status no dashboard. Se isso acontecer constantemente, sua rede pode estar interrompendo as requisições de consulta.

Você precisa ter pelo menos um projeto na sua conta do Jamdesk. Crie um em dashboard.jamdesk.com.

Para obter mais informações sobre a solução de problemas da CLI, consulte o guia da CLI na Central de Ajuda.

O que vem a seguir?

Fluxo de deploy

Deploy automático pelo GitHub e status do deploy

Autenticação

Fluxo de login, sessões e solução de problemas