Déployer sur GitHub Pages
Notions théoriques
Qu'est-ce que GitHub Pages ?
GitHub Pages est un service gratuit proposé par GitHub qui permet d'héberger un site Web statique directement depuis un dépôt GitHub. C'est idéal pour déployer un projet Vite.
Prérequis
- Un compte GitHub
- Un dépôt GitHub contenant votre projet Vite
- Node.js et npm installés
Fonctionnement du déploiement
- Vite génère les fichiers statiques dans
dist/avecnpm run build - Ces fichiers sont publiés sur la branche
gh-pagesdu dépôt - GitHub Pages sert le contenu de cette branche en ligne
GitHub Pages sert votre site à l'adresse https://votre-nom.github.io/nom-du-repo/. Le sous-chemin /nom-du-repo/ est important : Vite doit en être informé via l'option base dans sa configuration.
Exemple pratique
Étape 1 : Configurer Vite pour GitHub Pages
Par défaut, GitHub Pages sert les fichiers depuis un sous-dossier correspondant au nom de votre dépôt.
Modifiez ou créez vite.config.js à la racine du projet :
// vite.config.js
export default {
base: '/nom-du-repo/',
}
Remplacez nom-du-repo par le nom exact de votre dépôt GitHub.
Étape 2 : Installer le package gh-pages
npm install gh-pages --save-dev
Étape 3 : Modifier package.json
Ajoutez le script deploy dans la section scripts :
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"deploy": "gh-pages -d dist"
}
Étape 4 : Déployer
npm run build
npm run deploy
Cela génère les fichiers dans dist/ et les publie sur la branche gh-pages.
Étape 5 : Activer GitHub Pages
- Allez sur votre dépôt GitHub
- Cliquez sur Settings > Pages
- Sous Branch, sélectionnez
gh-pageset cliquez sur Save - Votre site sera accessible à :
https://votre-nom.github.io/nom-du-repo/
Déploiement automatique avec GitHub Actions
Pour déployer automatiquement à chaque git push, ajoutez un workflow GitHub Actions :
-
Créez
.github/workflows/deploy.ymldans votre projet -
Contenu du fichier :
name: Deploy Vite to GitHub Pages
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install and Build
run: |
npm install
npm run build
- name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: dist
- Commitez et poussez ce fichier. Désormais, à chaque push sur
main, GitHub déploiera automatiquement votre projet.
Dans le workflow, la ligne branches: [main] déclenche le déploiement uniquement depuis main. Si votre branche principale s'appelle master, modifiez cette valeur en conséquence.