Salta ai contenuti

Distribuisci il tuo sito Astro con Deno

Puoi distribuire un sito Astro statico o renderizzato on-demand usando Deno, sia sul tuo stesso server, o su Deno Deploy, un sistema distribuito che esegue JavaScript, TypeScript, e al limite WebAssembly, in tutto il mondo.

Questa guida include le istruzioni per eseguire il tuo sito Astro sul tuo stesso server con Deno, e distribuire su Deno Deploy attraverso GitHub Actions o Deno Deploy CLI.

Questa guida presuppone che hai già Deno intallato.

Il tuo progetto Astro può essere distribuito come sito statico, o come sito renderizzato on-demand.

Il tuo progetto Astro, per impostazione predefinta, è un sito statico. Non hai bisogno di configurazioni extra per distribuire un sito Astro statico con Deno, o su Deno Deploy.

Per abilitare il rendering on-demand nel tuo progetto Astro usando Deno, e per distribuirlo su Deno Deploy:

  1. Installa l’adattatore @deno/astro-adapter nelle tue dipendenze del progetto usando il tuo package manager preferito:

    Terminal window
    npm install @deno/astro-adapter
  2. Aggiorna il tuo file di configuratione del progetto astro.config.mjs con le seguenti modifiche.

    astro.config.mjs
    import { defineConfig } from 'astro/config';
    import deno from '@deno/astro-adapter';
    export default defineConfig({
    output: 'server',
    adapter: deno(),
    });
  3. Aggiorna il tuo script preview in package.json con le seguenti modifiche.

    package.json
    {
    // ...
    "scripts": {
    "dev": "astro dev",
    "start": "astro dev",
    "build": "astro build",
    "preview": "astro preview"
    "preview": "deno run --allow-net --allow-read --allow-env ./dist/server/entry.mjs"
    }
    }

    Puoi ora usare questo comando per vedere l’anteprima del tuo sito Astro di produzione localmente con Deno.

    Terminal window
    npm run preview

Puoi eseguire il tuo sito Astro sul tuo stesso server, o distribuirlo su Deno Deploy attraverso GitHub Actions o usando Deno Deploy’s CLI (interfaccia a linea di comando).

  1. Copia il tuo progetto sul tuo server.

  2. Installa le dipendenze del progetto usando il tuo package manager preferito:

    Terminal window
    npm install
  3. Compila il tuo sito Astro con il tuo package manager preferito:

    Terminal window
    npm run build
  4. Avvia la tua applicazione con il comando seguente:

    Terminal window
    deno run -A jsr:@std/http/file-server dist

Se il tuo progetto è salvato su GitHub, il sito web Deno Deploy ti guiderà nell’impostare le GitHub Actions per distribuire il tuo sito Astro.

  1. Invia il tuo codice su un repository Github pubblico o privato.

  2. Accedi a Deno Deploy con il tuo account GitHub, e clicca su Nuovo Progetto.

  3. Seleziona il tuo repository, il branch che vuoi distribuire, e seleziona la modalità GitHub Action. (Il tuo sito Astro richiede un passaggio di compilazione, e non può usare la modalità Automatica.)

  4. Nel tuo progetto Astro, crea un nuovo file in .github/workflows/deploy.yml e incollaci il seguente YAML. Questo è simile allo YAML dato da Deno Deploy, con i passaggi addizionali necessari al tuo sito Astro.

    .github/workflows/deploy.yml
    name: Deploy
    on: [push]
    jobs:
    deploy:
    name: Deploy
    runs-on: ubuntu-latest
    permissions:
    id-token: write # Necessario per l'autenticazione con Deno Deploy
    contents: read # Necessario per clonare il repository
    steps:
    - name: Clone repository
    uses: actions/checkout@v6
    # Non usi npm? Sostituisci `npm ci` con `yarn install` o `pnpm i`
    - name: Install dependencies
    run: npm ci
    # Non usi npm? Sostituisci `npm run build` con `yarn build` o `pnpm run build`
    - name: Build Astro
    run: npm run build
    - name: Upload to Deno Deploy
    uses: denoland/deployctl@v1
    with:
    project: my-deno-project # TODO: sostituisci con il nome del progetto di Deno Deploy
    entrypoint: jsr:@std/http/file-server
    root: dist
  5. Dopo aver effettuato il commit di questo file YAML, e inviato a GitHub sul tuo branch configurato per la distribuzione, la distribuzione dovrebbe iniziare automaticamente!

    Puoi monitorare il progresso usando la scheda “Actions” sulla pagina del tuo repository GitHub, o su Deno Deploy.

  1. Installa Deno Deploy CLI.

    Terminal window
    deno install -gArf jsr:@deno/deployctl
  2. Compila il tuo sito Astro con il tuo package manager preferito:

    Terminal window
    npm run build
  3. Esegui deployctl per distribuire!

    Terminal window
    cd dist && deployctl deploy jsr:@std/http/file-server

    Puoi monitorare tutte le tue distribuzioni su Deno Deploy.

  4. (Opzionale) Per semplificare la compilazione e la distribuzione in un comando, aggiungi uno script deploy-deno in package.json.

    package.json
    {
    // ...
    "scripts": {
    "dev": "astro dev",
    "start": "astro dev",
    "build": "astro build",
    "preview": "astro preview",
    "deno-deploy": "npm run build && cd dist && deployctl deploy jsr:@std/http/file-server"
    }
    }

    Quindi puoi usare questo comando per compilare e distribuire il tuo sito Astro in un passaggio.

    Terminal window
    npm run deno-deploy

Altre Guide di Pubblicazione

Contribuisci Comunità Sponsor