Déployer votre site Astro sur Cloudflare
Vous pouvez déployer des applications full-stack, y compris des ressources statiques front-end et des API back-end, ainsi que des sites rendus à la demande, sur Cloudflare Workers et Cloudflare Pages.
Ce guide comprend :
Cloudflare recommande d’utiliser Cloudflare Workers pour les nouveaux projets. Pour les projets Pages existants, consultez le guide de migration de Cloudflare et la matrice de compatibilité.
Prérequis
Section intitulée « Prérequis »Pour commencer, vous aurez besoin :
- Un compte Cloudflare. Si vous n’en avez pas encore, vous pouvez créer un compte Cloudflare gratuit au cours de la procédure.
Cloudflare Workers
Section intitulée « Cloudflare Workers »Comment déployer à l’aide de Wrangler
Section intitulée « Comment déployer à l’aide de Wrangler »-
Installez la CLI de Wrangler.
Fenêtre du terminal npm install wrangler@latest --save-dev -
Si votre site utilise le rendu à la demande, installez l’adaptateur
@astrojs/cloudflare
.Cela installera l’adaptateur et apportera les modifications appropriées à votre fichier
astro.config.mjs
en une seule étape.Fenêtre du terminal npx astro add cloudflareEnsuite, créez un fichier
.assetsignore
dans votre dossierpublic/
et ajoutez-y les lignes suivantes :public/.assetsignore _worker.js_routes.jsonEn savoir plus sur le rendu à la demande dans Astro. -
Créez un fichier de configuration Wrangler.
wrangler.jsonc {"$schema": "node_modules/wrangler/config-schema.json","name": "my-astro-app",// Mettre à jour à la date d'aujourd'hui"compatibility_date": "2025-03-25","assets": {"directory": "./dist"}}wrangler.jsonc {"$schema": "node_modules/wrangler/config-schema.json","name": "my-astro-app","main": "./dist/_worker.js/index.js",// Mettre à jour à la date d'aujourd'hui"compatibility_date": "2025-03-25","compatibility_flags": ["nodejs_compat"],"assets": {"binding": "ASSETS","directory": "./dist"},"observability": {"enabled": true}} -
Prévisualisez votre projet localement avec Wrangler.
Fenêtre du terminal npx astro build && npx wrangler dev -
Déployez en utilisant
npx wrangler deploy
.Fenêtre du terminal npx astro build && npx wrangler deploy
Une fois vos ressources téléchargées, Wrangler vous donnera une URL de prévisualisation pour inspecter votre site.
Comment déployer avec CI/CD
Section intitulée « Comment déployer avec CI/CD »Vous pouvez également utiliser un système CI/CD tel que Workers Builds (BETA) pour créer et déployer automatiquement votre site après un « push ».
Si vous utilisez Workers Builds :
-
Suivez les étapes 1 à 3 de la section Wrangler ci-dessus.
-
Connectez-vous au tableau de bord Cloudflare et accédez à
Workers & Pages
. SélectionnezCreate
. -
Sous
Import a repository
, sélectionnez un compte Git puis le dépôt contenant votre projet Astro. -
Configurez votre projet avec :
- Build command :
npx astro build
- Deploy command :
npx wrangler deploy
- Build command :
-
Cliquez sur
Save and Deploy
. Vous pouvez maintenant prévisualiser votre Worker dans son sous-domaineworkers.dev
fourni.
Cloudflare Pages
Section intitulée « Cloudflare Pages »Comment déployer à l’aide de Wrangler
Section intitulée « Comment déployer à l’aide de Wrangler »-
Installez la CLI de Wrangler.
Fenêtre du terminal npm install wrangler@latest --save-dev -
Si votre site utilise le rendu à la demande, installez l’adaptateur
@astrojs/cloudflare
.Cela installera l’adaptateur et apportera les modifications appropriées à votre fichier
astro.config.mjs
en une seule étape.Fenêtre du terminal npx astro add cloudflareEn savoir plus sur le rendu à la demande dans Astro. -
Prévisualisez votre projet localement avec Wrangler.
Fenêtre du terminal npx astro build && npx wrangler pages dev ./dist -
Déployez en utilisant
npx wrangler deploy
.Fenêtre du terminal npx astro build && npx wrangler pages deploy ./dist
Une fois vos ressources téléchargées, Wrangler vous fournira une URL d’aperçu pour inspecter votre site.
Comment déployer un site avec Git
Section intitulée « Comment déployer un site avec Git »-
Envoyez votre code vers votre dépôt Git (par exemple GitHub, GitLab).
-
Connectez-vous au tableau de bord de Cloudflare et accédez à Compute (Workers) > Workers & Pages. Sélectionnez Create, puis l’onglet Pages. Connectez votre dépôt Git.
-
Configurez votre projet avec :
- Framework preset:
Astro
- Build command:
npm run build
- Build output directory:
dist
- Framework preset:
-
Cliquez sur le bouton Save and deploy.
Dépannage
Section intitulée « Dépannage »Hydratation côté client
Section intitulée « Hydratation côté client »L’hydratation côté client peut échouer à cause du paramètre Auto Minify de Cloudflare. Si vous voyez Hydration completed but contains mismatches
dans la console, assurez-vous de désactiver Auto Minify dans les paramètres de Cloudflare.
API de l’environnement d’exécution Node.js
Section intitulée « API de l’environnement d’exécution Node.js »Si vous créez un projet qui utilise le rendu à la demande avec l’adaptateur Cloudflare et que le serveur ne parvient pas à construire avec un message d’erreur tel que [Error] Could not resolve "XXXX. The package "XXXX" wasn't found on the file system but is built into node.
:
-
Cela signifie qu’un paquet ou une importation que vous utilisez dans l’environnement côté serveur n’est pas compatible avec les API de l’environnement d’exécution Cloudflare.
-
Si vous importez directement une API de l’environnement d’exécution Node.js, veuillez consulter la documentation Astro sur la compatibilité Node.js de Cloudflare pour savoir comment résoudre ce problème.
-
Si vous importez un paquet qui importe une API de l’environnement d’exécution Node.js, vérifiez avec l’auteur du paquet s’il prend en charge la syntaxe d’importation
node:*
. Si ce n’est pas le cas, vous devrez peut-être trouver un autre paquet.