Déployer votre site Astro sur GitHub Pages
Vous pouvez utiliser GitHub Pages pour héberger un site Astro directement depuis un dépôt sur GitHub.com.
Comment déployer
Titre de la section Comment déployerVous pouvez déployer un site Astro sur GitHub Pages en utilisant GitHub Actions pour compiler et déployer automatiquement votre site. Pour ce faire, votre code source doit être hébergé sur GitHub.
Astro maintient l’action officielle withastro/action
pour déployer vos projets avec très peu de configuration. Suivez les instructions ci-dessous pour déployer votre site Astro sur GitHub Pages, et consultez le fichier README du paquet pour plus d’informations.
Configurer Astro pour GitHub Pages
Titre de la section Configurer Astro pour GitHub PagesDéployer vers une URL github.io
Titre de la section Déployer vers une URL github.ioDéfinissez les options site
et base
dans astro.config.mjs
.
import { defineConfig } from 'astro/config'
export default defineConfig({ site: 'https://astronaut.github.io', base: 'mon-depot',})
La valeur de site
doit être l’une des suivantes :
- L’URL suivante en fonction de votre nom d’utilisateur :
https://<nom-utilisateur>.github.io
- L’URL aléatoire autogénérée pour une page privée d’une organisation GitHub :
https://<chaine-aleatoire>.pages.github.io/
Une valeur pour base
peut être requise pour qu’Astro considère le nom de votre dépôt (par exemple /mon-depot
) comme la racine de votre site web.
Ne mettez pas de paramètre base
si :
- Votre page est servie depuis le dossier racine.
- Votre dépôt est situé à l’adresse
https://github.com/<NOM-UTILISATEUR>/<NOM-UTILISATEUR>.github.io
.
La valeur de base
doit être le nom de votre dépôt commençant par un slash, par exemple /mon-blog
. Ceci afin qu’Astro comprenne que la racine de votre site web est /mon-repo
, plutôt que le /
par défaut.
Lorsque cette valeur est configurée, tous les liens internes de votre page doivent être préfixés par votre valeur base
:
<a href="/mon-depot/a-propos">À propos</a>
En savoir plus sur la configuration d’une valeur pour base
Utiliser GitHub Pages avec un domaine personnalisé
Titre de la section Utiliser GitHub Pages avec un domaine personnaliséVous pouvez mettre en place un domaine personnalisé en ajoutant le fichier ./public/CNAME
suivant à votre projet :
sub.mydomain.com
Ceci déploiera votre site sur votre domaine personnalisé au lieu de utilisateur.github.io
. N’oubliez pas de configurer les DNS pour votre fournisseur de domaine.
Pour configurer Astro afin d’utiliser GitHub Pages avec un domaine personnalisé, définissez votre domaine comme valeur pour site
. Ne définissez pas de valeur pour base
:
import { defineConfig } from 'astro/config'
export default defineConfig({ site: 'https://example.com',})
Configurer une action GitHub
Titre de la section Configurer une action GitHub-
Créez un nouveau fichier dans votre projet à
.github/workflows/deploy.yml
et collez le YAML ci-dessous.deploy.yml name: Déployer sur GitHub Pageson:# Déclenchez le workflow chaque fois que vous poussez vers la branche `main`# Vous utilisez un nom de branche différent ? Remplacez `main` par le nom de votre branchepush:branches: [ main ]# Vous permet d'exécuter ce workflow manuellement à partir de l'onglet Actions sur GitHub.workflow_dispatch:# Autoriser cette tâche à cloner le dépôt et à créer un déploiement de pagepermissions:contents: readpages: writeid-token: writejobs:build:runs-on: ubuntu-lateststeps:- name: Extraire votre dépôt à l'aide de gituses: actions/checkout@v4- name: Installer, compiler et télécharger votre siteuses: withastro/action@v3with:# path: . # L'emplacement racine de votre projet Astro dans le dépôt. (facultatif)# node-version: 20 # Version spécifique de Node à utiliser pour compiler votre site. La valeur par défaut est 20. (facultatif)# package-manager: yarn # Le gestionnaire de paquets Node qui doit être utilisé pour installer les dépendances et compiler votre site. Détecté automatiquement en fonction de votre lockfile. (facultatif)deploy:needs: buildruns-on: ubuntu-latestenvironment:name: github-pagesurl: ${{ steps.deployment.outputs.page_url }}steps:- name: Déployer sur GitHub Pagesid: deploymentuses: actions/deploy-pages@v4L’action Astro prend quelques entrées optionnelles. Celles-ci peuvent être fournies en décommentant la ligne
with:
et l’entrée que vous voulez utiliser.L’Action officielle d’Astro recherche un lockfile pour détecter votre gestionnaire de paquets préféré (
npm
,yarn
,pnpm
, oubun
). Vous devez envoyer le fichierpackage-lock.json
,yarn.lock
,pnpm-lock.yaml
, oubun.lockb
généré automatiquement par votre gestionnaire de paquets dans votre dépôt. -
(Facultatif) Si vous transmettez des variables d’environnement à votre projet Astro pendant le développement local ou lors de la prévisualisation des compilations, vous devrez définir toutes les variables publiques dans le fichier
deploy.yml
afin qu’elles soient traitées lorsque vous déployez sur GitHub Pages. (Consultez la documentation de GitHub sur la définition des secrets pour l’ajout de variables d’environnement privées.)deploy.yml jobs:build:runs-on: ubuntu-lateststeps:- name: Extrayez votre dépôt à l'aide de gituses: actions/checkout@v4- name: Installez, créez et téléchargez votre siteuses: withastro/action@v3env:# Utilisez des apostrophes pour la valeur de la variablePUBLIC_EVM_WALLET_ADDRESS: '0x4bFc229A40d41698154336aFF864f61083E76659' -
Sur GitHub, allez dans l’onglet Settings (Paramètres) de votre dépôt et trouvez la section Pages des paramètres.
-
Choisissez GitHub Actions comme Source de votre site.
-
Validez (Commit) le nouveau fichier Workflow (flux de travail) et poussez-le (Push) sur GitHub.
Votre site devrait maintenant être publié ! Lorsque vous apportez des modifications au dépôt de votre projet Astro, l’action GitHub les déploie automatiquement pour vous.