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.
This guide includes instructions for deploying to Deno Deploy through GitHub Actions or Deno Deploy’s CLI.
Questa guida include istruzioni per fare il deploy attraverso Deno Deploy utilizzando le GitHub Actions o la Deno Deploy CLI
Requisiti
Sezione intitolata RequisitiAvere Deno installato sul tuo sistema.
Configurazione Del Progetto
Sezione intitolata Configurazione Del ProgettoPuoi fare il deploy del tuo sito Astro su Deno Deploy utilizzando il server-side-rendering (SSR). Ricorda che Deno Deploy non supporta i siti statici.
Adapter per il SSR
Sezione intitolata Adapter per il SSRPer 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.
npx astro add deno
Se vuoi installare l’adapter manualmente segui i seguienti passaggi:
-
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 -
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 tuopackage.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
Come fare il deploy
Sezione intitolata Come fare il deployPuoi fare il deploy su Deno Deploy attraverso le GitHub Actions o usando lad CLI Deno Deploy.
Deploy con le GitHub Actions
Sezione intitolata Deploy con le GitHub ActionsSe il tuo progetto si trova su GitHub, il sito di Deno Deploy ti guidera nel setup del deploy con le GitHub Actions.
-
Fai il push del tuo codice su una repository GitHub.
-
Esegui il login su Deno Deploy con il tuo account GitHub, e clicca New Project.
-
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)
-
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: Deployon: [push]jobs:deploy:name: Deployruns-on: ubuntu-latestpermissions:id-token: write # Necessario per l'auth con Deno Deploycontents: read # Necessario per scaricare la repositorysteps:- name: Clone repositoryuses: actions/checkout@v3# No usi npm? Cambia `npm ci` con `yarn install` o `pnpm i`- name: Install dependenciesrun: npm ci# No usi npm? Cambia `npm run build` con `yarn build` o `pnpm run build`- name: Build Astrorun: npm run build- name: Upload to Deno Deployuses: denoland/deployctl@v1with:project: my-deno-project # TODO: rimpiazzalo con il nome del tuo progetto Deno Deployentrypoint: server/entry.mjsroot: dist -
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.
Deploy con la CLI
Sezione intitolata Deploy con la CLI-
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 -
Esegui la build del tuo progetto Astro.
Terminal window npm run build -
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.mjsPuoi vedere tutti i tuoi deploy su Deno Deploy.
-
(Optional) Per semplificare questo processo per eseguire il deploy, aggiungi uno script
deploy-deno
nel tuopackage.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.