Vai al contenuto
AdiosDocumentazione
Esplora la documentazione

Distribuisci Next.js

Distribuisci un’app Next.js esistente come processo Node.js persistente. Pagine statiche, route renderizzate sul server e route API possono essere pubblicate nella stessa applicazione.

Usa pagina di distribuzione Next.js per valutare l’idoneità alla produzione, i prezzi, i modelli e le verifiche delle versioni prima di seguire i passaggi di implementazione qui sotto.

Parti da una cartella vuota? Segui il tutorial completo di compilazione e distribuzione Next.js, oppure usa il Workflow di sviluppo di un’app con l’assistenza dell’IA per Codex, ChatGPT, Gemini, e Claude.

Prerequisiti

  • Un progetto Next.js che si installa e compila da un checkout pulito
  • Uno script di avvio per la produzione, come next start
  • Il CLI Adios installato e autenticato

1. Aggiungi una route di stato

Per un progetto App Router, aggiungi app/api/health/route.js:

export function GET() {
  return Response.json({ status: "ok" });
}

La route deve restituire una risposta riuscita quando l’applicazione è pronta a ricevere traffico. Se dipende da un database o da un altro servizio necessario, decidi se la risposta sullo stato debba verificare anche quella dipendenza.

2. Configura l’ambiente di esecuzione

Crea adios.yaml nella radice del progetto:

name: my-nextjs-app
region: de
replicas: 1

build_cmd: npm ci && npm run build
start_cmd: npm start

runtime:
  name: node@24
  port: 3000
  health_path: /api/health
  memory_mb: 1024

Mantieni il gestore di pacchetti e il lockfile già usati dal tuo progetto. Per pnpm, sostituisci i campi dei comandi con i comandi pnpm equivalenti:

build_cmd: pnpm install --frozen-lockfile && pnpm build
start_cmd: pnpm start

Adatta versione Node.js, porta, memoria, regione e percorso di stato all’applicazione. Consulta il riferimento del manifest per ogni campo supportato.

Scegli il tuo compilatore

Adios esegue il comando di compilazione del tuo progetto. Puoi usare webpack o Turbopack. Per i progetti Next.js compatibili, consigliamo di provare Turbopack per ridurre i tempi di compilazione. Selezionalo nel package.json:

{
  "scripts": {
    "build": "next build --turbopack"
  }
}

Mantieni next build --webpack se la tua applicazione dipende da plugin o configurazioni webpack. Controlla Compatibilità Next.js e verifica pagine, route API e risorse generate prima del passaggio.

Se distribuisci .next/standalone/server.js, mantieni output: "standalone" nella configurazione Next.js. Il tracciamento delle dipendenze identifica i file necessari a quel pacchetto server; Turbopack continua a produrre tali dipendenze tramite il proprio processo di compilazione. Rimuovere l’output standalone non disabilita automaticamente il tracciamento di Next.js e richiede un pacchetto di distribuzione diverso.

3. Aggiungi configurazione e segreti

La configurazione pubblica dell’ambiente di esecuzione può essere dichiarata nel manifest. Mantieni i valori sensibili fuori da Git e usa riferimenti ai loro nomi:

env:
  NEXT_PUBLIC_APP_URL: https://app.example.com
  DATABASE_URL: secret://DATABASE_URL
  AUTH_SECRET: secret://AUTH_SECRET

Crea i valori dei segreti indicati con la CLI o l’IDE web prima che l’app ne abbia bisogno durante l’esecuzione.

4. Distribuisci

Esegui la distribuzione dalla directory principale del progetto:

adios up

Adios carica il codice sorgente attuale, esegue il comando di compilazione, avvia il processo di produzione, controlla /api/health, e promuove la versione dopo che risulta operativa. La distribuzione restituisce una route HTTPS generata.

5. Esamina e verifica

Distingui l’output della compilazione da quello del processo in esecuzione:

adios logs --build
adios logs --runtime

Apri la route generata e verifica una pagina statica, una pagina renderizzata sul server e tutte le route API da cui dipende l’applicazione. Se la compilazione o il controllo di stato fallisce, consulta il flusso di log pertinente prima di distribuire la versione successiva.

Domini personalizzati

Quando la route generata funziona, collega e verifica il nome host di produzione. Adios gestisce TLS per il dominio verificato e lo mantiene collegato alla versione promossa. Segui Domini e reindirizzamenti per l’ordine delle operazioni DNS e di verifica.

Inizia da un modello

Se non hai un repository esistente, scegli uno starter Next.js ufficiale JavaScript o TypeScript con npm o pnpm nel catalogo dei modelli.