Salta ai contenuti

Esegui il Deploy del tuo sito su Deno Deploy

Puoi effettuare il deploy di un sito Astro con rendering lato server su Deno Deploy, un sistema che esegue JavaScript, TypeScript e WebAssembly attraverso l’edge, in tutto il mondo.

Questa guida include istruzioni per fare il deploy attraverso Deno Deploy utilizzando le GitHub Actions o la Deno Deploy CLI.

Avere Deno installato sul tuo sistema.

Puoi fare il deploy del tuo sito Astro su Deno Deploy utilizzando il server-side-rendering (SSR).

Per fare il deploy di un sito statico, segui la guida sul sito di Deno

Per abilitare il server-side-rendering nel tuo progetto astro e eseguire il deploy su Deno Deploy:

Aggiungi il Deno adapter per abilitare il server-side-rendering nel tuo sito usa il comando astro add. Installera l’adapter e inserira i cambiamenti necessari per il astro.config.mjs in un solo step.

Terminal window
npx astro add deno

Se vuoi installare l’adapter manualmente segui i seguienti passaggi:

  1. Installa l’adapter @astrojs/deno nel tuo progetto come dipendenza utilizzando il tuo package manager preferito. Se stai usando npm o non lo sai avvia questo comando nel terminale:

    Terminal window
    npm install @astrojs/deno
  2. Modifica il tuo file astro.config.mjs con le modifiche sottostanti.

    astro.config.mjs
    import { defineConfig } from 'astro/config';
    import deno from '@astrojs/deno';
    export default defineConfig({
    output: 'server',
    adapter: deno(),
    });

    Ora, Cambia lo script preview nel tuo package.json con i cambiamenti sottostanti.

    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"
    }
    }

    Ora puoi usare questo comando per vedere l’anteprima del tuo sito con Deno.

    Terminal window
    npm run preview

Puoi fare il deploy su Deno Deploy attraverso le GitHub Actions o usando lad CLI Deno Deploy.

Se il tuo progetto si trova su GitHub, il sito di Deno Deploy ti guidera nel setup del deploy con le GitHub Actions.

  1. Fai il push del tuo codice su una repository GitHub.

  2. Esegui il login su Deno Deploy con il tuo account GitHub, e clicca New Project.

  3. Seleziona la tua repository, e il branch di cui vuoi fare il deploy, e seleziona GitHub Action. (Il tuo sito Astro richiede degli setup di build custom, non puoi usare quelli automatici)

  4. Nel tuo progetto Astro, crea un nuovo file .github/workflows/deploy.yml e incollaci il codice YAMl sottostante. È molto simile a il codice YAML che ti dara Deno Deploy, ma con alcuni step aggiuntivi.

    name: Deploy
    on: [push]
    jobs:
    deploy:
    name: Deploy
    runs-on: ubuntu-latest
    permissions:
    id-token: write # Necessario per l'auth con Deno Deploy
    contents: read # Necessario per scaricare la repository
    steps:
    - name: Clone repository
    uses: actions/checkout@v4
    # No usi npm? Cambia `npm ci` con `yarn install` o `pnpm i`
    - name: Install dependencies
    run: npm ci
    # No usi npm? Cambia `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: rimpiazzalo con il nome del tuo progetto Deno Deploy
    entrypoint: server/entry.mjs
    root: dist
  5. Dopo aver fatto il commit di questo file YAML, e il push su GitHub sul branch configurato per il deploy in precedenza, il deploy dovrebbe essere automatico!

    Poi seguire l’avanzamento del deploy nella sezione “Actions” sulla repository GitHub, o su Deno Deploy.

  1. Installa la CLI di Deno Deploy.

    Terminal window
    deno install --allow-read --allow-write --allow-env --allow-net --allow-run --no-check -r -f https://deno.land/x/deploy/deployctl.ts
  2. Esegui la build del tuo progetto Astro.

    Terminal window
    npm run build
  3. Esegui deployctl per eseguire deploy!

    Nel comando qui sotto rimpiazza <ACCESS-TOKEN> con il tuo Personal Access Token e <MY-DENO-PROJECT> con il nome del tuo progetto Deno Deploy.

    Terminal window
    DENO_DEPLOY_TOKEN=<ACCESS-TOKEN> deployctl deploy --project=<MY-DENO-PROJECT> --no-static --include=./dist ./dist/server/entry.mjs

    Puoi vedere tutti i tuoi deploy su Deno Deploy.

  4. (Opzionale) Per semplificare questo processo per eseguire il deploy, aggiungi uno script deploy-deno nel tuo package.json.

    package.json
    {
    // ...
    "scripts": {
    "dev": "astro dev",
    "start": "astro dev",
    "build": "astro build",
    "preview": "deno run --allow-net --allow-read --allow-env ./dist/server/entry.mjs",
    "deno-deploy": "npm run build && deployctl deploy --project=<MY-DENO-PROJECT> --no-static --include=./dist ./dist/server/entry.mjs"
    }
    }

    Da ora in poi potrai usare questo comando per fare il deploy del tuo sito.

    Terminal window
    DENO_DEPLOY_TOKEN=<ACCESS-TOKEN> npm run deno-deploy
Scopri di più sul SSR in Astro.

Altre Guide di Pubblicazione