Déployez votre site Astro avec Deno
Vous pouvez déployer un site Astro statique ou rendu à la demande à l’aide de Deno, soit sur votre propre serveur, soit sur Deno Deploy, un système distribué qui exécute JavaScript, TypeScript et WebAssembly à la pointe de la technologie, dans le monde entier.
Ce guide comprend des instructions pour exécuter votre site Astro sur votre propre serveur avec Deno et le déployer sur Deno Deploy via GitHub Actions ou la CLI de Deno Deploy.
Prérequis
Titre de la section PrérequisCe guide suppose que vous avez déjà installé Deno.
Configuration du projet
Titre de la section Configuration du projetVotre projet Astro peut être déployé en tant que site statique ou en tant que site rendu à la demande.
Site statique
Titre de la section Site statiqueVotre projet Astro est un site statique par défaut. Aucune configuration supplémentaire n’est requise pour déployer un site Astro statique avec Deno ou Deno Deploy.
Adaptateur pour le rendu à la demande
Titre de la section Adaptateur pour le rendu à la demandePour activer le rendu à la demande dans votre projet Astro à l’aide de Deno et pour déployer sur Deno Deploy :
-
Installez l’adaptateur
@deno/astro-adapter
aux dépendances de votre projet en utilisant votre gestionnaire de paquets préféré:Fenêtre du terminal npm install @deno/astro-adapterFenêtre du terminal pnpm install @deno/astro-adapterFenêtre du terminal yarn add @deno/astro-adapter -
Mettez à jour votre fichier de configuration du projet
astro.config.mjs
avec les changements ci-dessous.astro.config.mjs import { defineConfig } from 'astro/config';import deno from '@deno/astro-adapter';export default defineConfig({output: 'server',adapter: deno(),}); -
Mettez à jour votre script
preview
danspackage.json
avec la modification ci-dessous.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"}}Vous pouvez maintenant utiliser cette commande pour prévisualiser votre site Astro de façon locale avec Deno.
Fenêtre du terminal npm run previewFenêtre du terminal pnpm run previewFenêtre du terminal yarn run preview
Comment déployer
Titre de la section Comment déployerVous pouvez déployer Deno Deploy via les actions GitHub ou en utilisant l’interface de ligne de commande (CLI) de Deno Deploy.
Sur votre propre serveur
Titre de la section Sur votre propre serveur-
Copiez votre projet sur votre serveur.
-
Installez les dépendances du projet à l’aide de votre gestionnaire de paquets préféré :
Fenêtre du terminal npm installFenêtre du terminal pnpm installFenêtre du terminal yarn -
Créez votre site Astro avec votre gestionnaire de paquets préféré :
Fenêtre du terminal npm run buildFenêtre du terminal pnpm run buildFenêtre du terminal yarn run build -
Démarrez votre application avec la commande suivante :
Fenêtre du terminal deno run -A jsr:@std/http/file-server distFenêtre du terminal deno run -A ./dist/server/entry.mjs
Déploiement avec les actions GitHub
Titre de la section Déploiement avec les actions GitHubSi votre projet est stocké sur GitHub, le site Deno Deploy vous guidera dans la mise en place des actions GitHub pour déployer votre site Astro.
-
Poussez votre code vers un dépôt GitHub public ou privé.
-
Connectez-vous sur Deno Deploy avec votre compte GitHub, et cliquez sur New Project.
-
Sélectionnez votre dépôt, la branche à partir de laquelle vous voulez déployer, et sélectionnez le mode GitHub Action. (Votre site Astro nécessite une étape de compilation, et ne peut pas utiliser le mode Automatique).
-
Dans votre projet Astro, créez un nouveau fichier
.github/workflows/deploy.yml
et collez le YAML ci-dessous. Ceci est similaire au YAML donné par Deno Deploy, avec les étapes supplémentaires nécessaires pour votre site Astro..github/workflows/deploy.yml name: Déploiementon: [push]jobs:deploy:name: Déploiementruns-on: ubuntu-latestpermissions:id-token: write # Nécessaire pour l'authentification avec Deno Deploycontents: read # Nécessaire pour cloner le dépôtsteps:- name: Clonage du dépôtuses: actions/checkout@v4# Vous n'utilisez pas npm ? Remplacez `npm ci` par `yarn install` ou `pnpm i`- name: Installation des dépendancesrun: npm ci# Vous n'utilisez pas npm ? Remplacez `npm run build` par `yarn build` ou `pnpm run build`.- name: Construction du site Astrorun: npm run build- name: Téléchargement vers Deno Deployuses: denoland/deployctl@v1with:project: my-deno-project # TODO : remplacer par le nom du projet Deno Deployentrypoint: jsr:@std/http/file-serverroot: dist.github/workflows/deploy.yml name: Déploiementon: [push]jobs:deploy:name: Déploiementruns-on: ubuntu-latestpermissions:id-token: write # Nécessaire pour l'authentification avec Deno Deploycontents: read # Nécessaire pour cloner le dépôtsteps:- name: Clonage du dépôtuses: actions/checkout@v4# Vous n'utilisez pas npm ? Remplacez `npm ci` par `yarn install` ou `pnpm i`- name:Installation des dépendancesrun: npm ci# Vous n'utilisez pas npm ? Remplacez `npm run build` par `yarn build` ou `pnpm run build`.- name: Construction du site Astrorun: npm run build- name: Téléchargement vers Deno Deployuses: denoland/deployctl@v1with:project: my-deno-project # TODO : remplacer par le nom du projet Deno Deployentrypoint: dist/server/entry.mjs -
Après avoir validé ce fichier YAML et l’avoir poussé sur GitHub sur la branche de déploiement configurée, le déploiement devrait commencer automatiquement !
Vous pouvez suivre la progression en utilisant l’onglet « Actions » sur votre page de dépôt GitHub, ou sur Deno Deploy.
Déploiement CLI
Titre de la section Déploiement CLI-
Installez le CLI de Deno Deploy.
Fenêtre du terminal deno install -gArf jsr:@deno/deployctl -
Créez votre site Astro avec votre gestionnaire de paquets préféré :
Fenêtre du terminal npm run buildFenêtre du terminal pnpm run buildFenêtre du terminal yarn run build -
Exécutez
deployctl
pour déployer !Fenêtre du terminal cd dist && deployctl deploy jsr:@std/http/file-serverFenêtre du terminal deployctl deploy ./dist/server/entry.mjsVous pouvez suivre tous vos déploiements sur Deno Deploy.
-
(Optionnel) Pour simplifier la construction et le déploiement en une seule commande, ajoutez un script
deploy-deno
danspackage.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"}}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 ./dist/server/entry.mjs"}}Vous pouvez alors utiliser cette commande pour construire et déployer votre site Astro en une seule étape.
Fenêtre du terminal npm run deno-deploy