Deploy CLI
Scopri come il comando CLI deploy di Jamdesk impacchetta, carica e compila la documentazione, inclusi flag, fasi di build e codici di errore.
Il comando deploy impacchetta la documentazione, la carica su Jamdesk e avvia una build dal terminale. Usalo per iterazioni rapide, per testare modifiche o per progetti non collegati a un repository GitHub.
Avvio rapido
jamdesk login # First time only
jamdesk deploy # From your project directory
Opzioni
| Flag | Descrizione |
|---|---|
--detach | Accoda la build e termina immediatamente (stampa un link al dashboard) |
--full-rebuild | Forza una ricostruzione completa, ignorando la cache della build |
--project <id> | Esegue il deploy su un progetto specifico tramite ID (salta la selezione interattiva) |
--allow-empty | Consente il deploy senza pagine di contenuto .mdx. Per impostazione predefinita, la CLI rifiuta il deploy di un progetto vuoto, così una directory di lavoro errata non può pubblicare accidentalmente un sito vuoto (gli snippet non contano come pagine di contenuto) |
jamdesk push è un alias di jamdesk deploy.
Come funziona
Verifica che la sessione sia valida. Se il token è scaduto, ti verrà richiesto di eseguire jamdesk login.
Legge e convalida docs.json dalla directory corrente.
Legge projectId da docs.json. Se manca (primo deploy), la CLI ti chiede di selezionare uno dei tuoi progetti. La scelta viene salvata nuovamente in docs.json, così il deploy successivo salta la richiesta.
Usa --project <id> per sostituire questo valore.
Crea un tarball compresso della documentazione, rispettando .gitignore. Se alcuni file sembrano contenere segreti, la CLI stampa un avviso (ma non blocca il caricamento).
Invia il tarball a Jamdesk tramite un URL presigned. La dimensione massima del caricamento è di 100 MB.
Accoda una build e ne verifica lo stato, stampando ogni fase al completamento. Premi Ctrl+C per interrompere il controllo; la build continua in background.
Stampa l'URL pubblico quando la build termina.
Fasi della build
Durante il controllo dello stato, vedrai completarsi ogni fase in sequenza:
| Fase | Descrizione |
|---|---|
| Estrazione dei file | Estrazione del tarball caricato |
| Convalida della configurazione | Controllo dello schema e dei contenuti di docs.json |
| Preparazione dei contenuti | Elaborazione dei file MDX e degli asset |
| Build della documentazione | Compilazione delle pagine e generazione degli artefatti statici |
| Caricamento su CDN | Invio dell'output della build alla rete edge |
| Aggiornamento della cache | Eliminazione dei contenuti obsoleti dal CDN |
Esclusioni dei file
I seguenti elementi vengono sempre esclusi dai caricamenti, indipendentemente dal contenuto di .gitignore:
.git, node_modules, .next, .env, .env.*, *.pem, *.key, credentials.json, .gcloud, .DS_Store, Thumbs.db
Anche tutto ciò che è incluso nel tuo .gitignore viene escluso.
Avvisi sui file segreti
La CLI mostra un avviso (ma non blocca l'operazione) quando rileva file che sembrano contenere segreti:
- File
.enve.env.* - File
*.peme*.key credentials.jsonservice_account*.json- File che iniziano con
secret
Aggiungili a .gitignore per nascondere l'avviso ed escluderli dai caricamenti.
Riferimento degli errori
| Errore | Codice | Causa | Soluzione |
|---|---|---|---|
| Accesso non effettuato | AUTH_REQUIRED | Nessuna credenziale salvata | jamdesk login |
| Sessione scaduta | AUTH_EXPIRED | Aggiornamento del token non riuscito | jamdesk login |
| Accesso negato | FORBIDDEN | Non sei membro di questo progetto | Controlla l'appartenenza al progetto nel dashboard |
| Progetto non trovato | NOT_FOUND | ID progetto non valido | Verifica l'ID o rimuovi projectId da docs.json |
| Build in corso | BUILD_IN_PROGRESS | È in esecuzione un'altra build | Attendi o controlla il dashboard |
| Caricamento troppo grande | TOO_LARGE | Il server ha rifiutato il caricamento (limite di 100 MB) | Escludi i file grandi tramite .gitignore |
| Progetto troppo grande | PROJECT_TOO_LARGE | Il tarball supera i 100 MB durante la pacchettizzazione | Escludi i file grandi tramite .gitignore |
| Nessun progetto | NO_PROJECTS | Non ci sono progetti nel tuo account | Crea prima un progetto nel dashboard |
| Nessun file | EMPTY_PROJECT | Tutti i file sono stati esclusi | Controlla .gitignore |
| Nessuna pagina di contenuto | NO_CONTENT | Non sono state trovate pagine di contenuto .mdx (gli snippet non contano) | Esegui il comando dalla directory della documentazione oppure passa --allow-empty se la pubblicazione vuota è intenzionale |
| Configurazione non valida | CONFIG_NOT_FOUND | docs.json mancante o non valido | Esegui il comando dalla root del progetto e controlla la configurazione |
| Caricamento non riuscito | UPLOAD_FAILED | Problema di rete durante il caricamento | Controlla la connessione Internet e riprova |
| Build non riuscita | BUILD_FAILED | Errore del servizio di build | Controlla i log della build nel dashboard |
Risoluzione dei problemi
È possibile eseguire una sola build alla volta per progetto. Attendi il completamento della build corrente; controlla lo stato nel dashboard, in Deployments.
Assicurati di eseguire il comando dalla directory che contiene docs.json. Esegui jamdesk validate per verificare la presenza di errori di configurazione.
Il limite di 100 MB si applica al tarball compresso di tutti i file non esclusi. Controlla quali file vengono inclusi. Immagini, video o file di dati di grandi dimensioni sono cause comuni; aggiungili a .gitignore per escluderli.
Premi Ctrl+C per uscire; la build continua a essere eseguita in background. Controlla lo stato nel dashboard. Se il problema si verifica regolarmente, la rete potrebbe interrompere le richieste di controllo dello stato.
Devi avere almeno un progetto nel tuo account Jamdesk. Creane uno su dashboard.jamdesk.com.
Per ulteriori informazioni sulla risoluzione dei problemi della CLI, consulta la guida CLI del Centro assistenza.
