Jamdesk Documentation logo

CLI Deploy

Scopri come il comando CLI jamdesk deploy impacchetta, carica e compila la tua documentazione, con flag, fasi di build e codici di errore.

Il comando deploy impacchetta la tua 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

FlagDescrizione
--detachMette in coda la build ed esce immediatamente (stampa un link alla dashboard)
--full-rebuildForza una build completa, ignorando la cache di build
--project <id>Esegue il deploy su uno specifico ID progetto (salta la selezione interattiva)
--allow-emptyConsente il deploy con zero pagine di contenuto .mdx. Per impostazione predefinita la CLI rifiuta il deploy di un progetto vuoto. Questo impedisce che una directory di lavoro errata pubblichi un sito vuoto. Gli snippet non contano come pagine di contenuto
-m, --message <text>Messaggio di commit per le modifiche non committate in una cartella creata da jamdesk pull (predefinito: "Update docs")
--allow-secret-filesPubblica i file i cui nomi sembrano segreti da una cartella creata da jamdesk pull

jamdesk push è un alias di jamdesk deploy.

Come funziona

1
Autenticazione

Verifica la tua sessione. Un token scaduto richiede di eseguire jamdesk login.

2
Caricamento configurazione

Legge e valida docs.json dalla directory corrente.

3
Risoluzione del progetto

Legge projectId da docs.json. Manca al primo deploy. La CLI ti chiede quindi di scegliere un progetto. La CLI salva la tua scelta in docs.json. Il deploy successivo salta la richiesta.

Usa --project <id> per sovrascrivere.

4
Impacchettamento dei file

Crea un tarball compresso della tua documentazione. I file presenti in .gitignore vengono esclusi. La CLI avvisa dei file che sembrano segreti. L'avviso non blocca il caricamento.

5
Caricamento

Invia il tarball a Jamdesk tramite un URL pre-firmato. La dimensione massima di caricamento è 100 MB.

6
Build

Mette in coda una build e interroga lo stato. Ogni fase viene stampata al completamento. Premi Ctrl+C per interrompere l'interrogazione. La build continua in background.

7
Completato

Stampa l'URL live al termine della build.

Progetti senza GitHub

Per un progetto la cui documentazione è ospitata da Jamdesk (Documentazione senza GitHub), esegui deploy all'interno della cartella creata da jamdesk pull. Lì, deploy salta i passaggi del tarball descritti sopra. Esegue invece:

  1. Controlla le modifiche e rifiuta i file che non pubblicherà, come i file .github, i file dall'aspetto segreto e i file oltre 25 MB, prima di committare qualsiasi cosa.
  2. Committa le modifiche non committate. Usa -m per impostare il messaggio.
  3. Carica i nuovi commit (fino a 100 MB), che Jamdesk aggiunge alla tua documentazione.
  4. Avvia una build e mostra ogni fase.

Deploy funziona da qualsiasi sottocartella e non modifica mai docs.json. --full-rebuild e --allow-empty non si applicano in questa cartella, e --project deve indicare il progetto della cartella. A differenza dell'avviso di un deploy normale, un file dall'aspetto segreto interrompe il deploy a meno che tu non aggiunga --allow-secret-files.

Se Jamdesk ha modifiche che non hai ancora, dall'Editor o da un collega, deploy si ferma e conserva il tuo commit. Esegui jamdesk pull, poi di nuovo jamdesk deploy. Consulta Modifica sul tuo computer per i conflitti e l'elenco completo dei file rifiutati.

ErroreCodiceSoluzione
Jamdesk ha modifiche che non hai ancoraHOSTED_STALEjamdesk pull, poi jamdesk deploy
Nulla è stato pubblicatoPUSH_REFUSEDRimuovi o correggi i file elencati, poi esegui di nuovo il deploy
Un merge o un rebase non è terminatoMERGE_IN_PROGRESSRisolvi i conflitti e fai commit, oppure esegui git merge --abort
La cartella è sul branch sbagliatoWRONG_BRANCHgit switch al branch indicato nel messaggio
Impossibile committare le modificheCOMMIT_FAILEDEsegui git commit nella cartella per vedere il motivo
Jamdesk non ha potuto confermare la pubblicazionePUSH_UNCONFIRMEDjamdesk pull per verificare, poi esegui di nuovo il deploy
Il progetto non è più ospitato da JamdeskNOT_HOSTEDEsegui il push sul tuo repository GitHub con i comandi stampati da deploy

Fasi della build

La CLI stampa ogni fase in ordine durante l'interrogazione:

FaseDescrizione
Estrazione dei fileDecompressione del tarball caricato
Validazione della configurazioneVerifica dello schema e del contenuto di docs.json
Preparazione dei contenutiElaborazione dei file MDX e degli asset
Build della documentazioneCompilazione delle pagine e generazione degli artefatti statici
Caricamento sulla CDNInvio dell'output compilato alla rete edge
Aggiornamento della cacheEliminazione dei contenuti obsoleti dalla CDN

Esclusioni dei file

Questi elementi sono sempre esclusi dai caricamenti, indipendentemente da ciò che dice il tuo .gitignore:

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

Anche tutto ciò che è nel tuo .gitignore viene escluso.

Avvisi sui file segreti

La CLI avvisa (senza bloccare) quando rileva file che sembrano segreti:

  • File .env e .env.*
  • File *.pem e *.key
  • credentials.json
  • service_account*.json
  • File il cui nome inizia con secret

Aggiungili a .gitignore per eliminare l'avviso ed escluderli dai caricamenti.

Riferimento degli errori

ErroreCodiceCausaSoluzione
Non autenticatoAUTH_REQUIREDNessuna credenziale memorizzatajamdesk login
Sessione scadutaAUTH_EXPIREDAggiornamento del token non riuscitojamdesk login
Accesso negatoFORBIDDENNon sei membro di questo progettoVerifica l'appartenenza al progetto nella dashboard
Progetto non trovatoNOT_FOUNDID progetto non validoVerifica l'ID o rimuovi projectId da docs.json
Build in corsoBUILD_IN_PROGRESSUn'altra build è in esecuzioneAttendi o controlla la dashboard
Caricamento troppo grandeTOO_LARGEIl server ha rifiutato il caricamento (limite 100 MB)Escludi i file grandi tramite .gitignore
Progetto troppo grandePROJECT_TOO_LARGEIl tarball supera 100 MB durante l'impacchettamentoEscludi i file grandi tramite .gitignore
Nessun progettoNO_PROJECTSNessun progetto nel tuo accountCrea prima un progetto nella dashboard
Nessun fileEMPTY_PROJECTTutti i file sono esclusiControlla .gitignore
Nessuna pagina di contenutoNO_CONTENTNessuna pagina di contenuto .mdx trovata (gli snippet non contano)Esegui dalla directory della documentazione, oppure usa --allow-empty se la pubblicazione vuota è intenzionale
Configurazione non validaCONFIG_NOT_FOUNDdocs.json mancante o non validoEsegui dalla radice del progetto, verifica la configurazione
Caricamento fallitoUPLOAD_FAILEDProblema di rete durante il caricamentoVerifica la connessione e riprova
Build fallitaBUILD_FAILEDErrore del servizio di buildControlla i log di build nella dashboard

Risoluzione dei problemi

Ogni progetto esegue una build alla volta. Attendi che la build corrente termini. Controlla lo stato nella dashboard sotto Deployments.

Esegui 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. Cause comuni sono immagini, video o file di dati di grandi dimensioni. Aggiungili a .gitignore per escluderli.

Premi Ctrl+C per uscire. La build continua in background. Controlla lo stato nella dashboard. Un blocco che si ripete può indicare che la rete interrompe le richieste di interrogazione.

Ti serve almeno un progetto nel tuo account Jamdesk. Creane uno su dashboard.jamdesk.com.

Per ulteriori indicazioni sulla risoluzione dei problemi della CLI, consulta la guida CLI del Centro assistenza.

Prossimi passi

Flusso di deployment

Deploy automatico da GitHub e stato del deployment

Autenticazione

Flusso di login, sessioni e risoluzione dei problemi