Skill de déploiement Netlify
Déployez des projets web sur Netlify en utilisant la CLI Netlify avec détection intelligente de la configuration du projet et du contexte de déploiement.
Aperçu
Ce skill automatise les déploiements Netlify en :
- Vérifiant l'authentification de la CLI Netlify
- Détectant la configuration et le framework du projet
- Créant un lien vers des sites existants ou en créant de nouveaux
- Déployant vers des environnements de production ou d'aperçu
Prérequis
- CLI Netlify : Installée via npx (aucune installation globale requise)
- Authentification : Compte Netlify avec session de connexion active
- Projet : Projet web valide dans le répertoire courant
- Quand le sandboxing bloque les appels réseau de déploiement, réexécutez avec
sandbox_permissions=require_escalated. - Le déploiement peut prendre quelques minutes. Utilisez des valeurs de timeout appropriées.
Modèle d'authentification
Le skill utilise l'approche de CLI Netlify pré-authentifiée :
- Vérifier le statut d'authentification avec
npx netlify status - Si non authentifié, guider l'utilisateur via
npx netlify login - Échouer gracieusement si l'authentification ne peut pas être établie
L'authentification utilise soit :
- OAuth basée sur le navigateur (primaire) :
netlify loginouvre le navigateur pour l'authentification - Clé API (alternative) : Définir la variable d'environnement
NETLIFY_AUTH_TOKEN
Flux de travail
1. Vérifier l'authentification de la CLI Netlify
Vérifiez si l'utilisateur est connecté à Netlify :
npx netlify status
Motifs de sortie attendus :
- ✅ Authentifié : Affiche l'email de l'utilisateur connecté et l'état du lien du site
- ❌ Non authentifié : « Not logged into any site » ou erreur d'authentification
Si non authentifié, guider l'utilisateur :
npx netlify login
Cela ouvre une fenêtre de navigateur pour l'authentification OAuth. Attendez que l'utilisateur termine la connexion, puis vérifiez à nouveau avec netlify status.
Alternative : Authentification par clé API
Si l'authentification par navigateur n'est pas disponible, les utilisateurs peuvent définir :
export NETLIFY_AUTH_TOKEN=your_token_here
Les tokens peuvent être générés sur : https://app.netlify.com/user/applications#personal-access-tokens
2. Détecter le statut de lien du site
À partir de la sortie netlify status, déterminer :
- Lié : Site déjà connecté à Netlify (affiche le nom/URL du site)
- Non lié : Besoin de créer un lien ou un nouveau site
3. Créer un lien vers un site existant ou en créer un nouveau
Si déjà lié → Passer à l'étape 4
Si non lié, tentez de créer un lien via la remote Git :
# Vérifier si le projet est basé sur Git
git remote show origin
# Si basé sur Git, extraire l'URL de la remote
# Format: https://github.com/username/repo ou git@github.com:username/repo.git
# Tenter de créer un lien via la remote Git
npx netlify link --git-remote-url <REMOTE_URL>
Si le lien échoue (le site n'existe pas sur Netlify) :
# Créer un nouveau site interactivement
npx netlify init
Cela guide l'utilisateur à travers :
- Choisir une équipe/compte
- Définir le nom du site
- Configurer les paramètres de build
- Créer netlify.toml si nécessaire
4. Vérifier les dépendances
Avant de déployer, assurez-vous que les dépendances du projet sont installées :
# Pour les projets npm
npm install
# Pour les autres gestionnaires de paquets, détecter et utiliser la commande appropriée
# yarn install, pnpm install, etc.
5. Déployer sur Netlify
Choisissez le type de déploiement en fonction du contexte :
Déploiement d'aperçu/brouillon (par défaut pour les sites existants) :
npx netlify deploy
Cela crée un aperçu de déploiement avec une URL unique pour les tests.
Déploiement en production (pour les nouveaux sites ou les déploiements en production explicites) :
npx netlify deploy --prod
Cela déploie vers l'URL de production active.
Processus de déploiement :
- La CLI détecte les paramètres de build (à partir de netlify.toml ou demande à l'utilisateur)
- Construit le projet localement
- Télécharge les assets compilés vers Netlify
- Retourne l'URL de déploiement
6. Signaler les résultats
Après le déploiement, signalez à l'utilisateur :
- URL de déploiement : URL unique pour ce déploiement
- URL du site : URL de production (si déploiement en production)
- Logs de déploiement : Lien vers le tableau de bord Netlify pour les logs
- Étapes suivantes : Suggérer
netlify openpour afficher le site ou le tableau de bord
Gestion de netlify.toml
Si un fichier netlify.toml existe, la CLI l'utilise automatiquement. Sinon, la CLI demandera :
- Commande de build : par ex.
npm run build,next build - Répertoire de publication : par ex.
dist,build,.next
Défauts courants pour les frameworks :
- Next.js : commande de build
npm run build, publication.next - React (Vite) : commande de build
npm run build, publicationdist - HTML statique : pas de commande de build, publication du répertoire courant
Le skill devrait détecter le framework à partir de package.json si possible et suggérer les paramètres appropriés.
Exemple de flux complet
# 1. Vérifier l'authentification
npx netlify status
# Si non authentifié :
npx netlify login
# 2. Créer un lien vers le site (si nécessaire)
# Essayer d'abord le lien basé sur Git
git remote show origin
npx netlify link --git-remote-url https://github.com/user/repo
# Si aucun site n'existe, en créer un nouveau :
npx netlify init
# 3. Installer les dépendances
npm install
# 4. Déployer (aperçu pour les tests)
npx netlify deploy
# 5. Déployer en production (quand prêt)
npx netlify deploy --prod
Gestion des erreurs
Problèmes courants et solutions :
« Not logged in »
→ Exécutez npx netlify login
« No site linked »
→ Exécutez npx netlify link ou npx netlify init
« Build failed » → Vérifiez la commande de build et le répertoire de publication dans netlify.toml ou les invites CLI → Vérifiez que les dépendances sont installées → Consultez les logs de build pour les erreurs spécifiques
« Publish directory not found » → Vérifiez que la commande de build s'est exécutée avec succès → Vérifiez que le chemin du répertoire de publication est correct
Dépannage
Accès réseau escaladé
Si le déploiement échoue en raison de problèmes réseau (timeouts, erreurs DNS, réinitialisations de connexion), réexécutez le déploiement avec des permissions escaladées (utilisez sandbox_permissions=require_escalated). Le déploiement nécessite un accès réseau escaladé quand le réseau du sandbox bloque les requêtes sortantes.
Exemple de guidance pour l'utilisateur :
Le déploiement nécessite un accès réseau escaladé pour déployer sur Netlify. Je peux réexécuter la commande avec des permissions escaladées—voulez-vous continuer ?
Variables d'environnement
Pour les secrets et la configuration :
- Ne commettez jamais les secrets dans Git
- Définissez dans le tableau de bord Netlify : Paramètres du site → Variables d'environnement
- Accédez dans les builds via
process.env.VARIABLE_NAME
Conseils
- Utilisez
netlify deploy(sans--prod) d'abord pour tester avant la production - Exécutez
netlify openpour afficher le site dans le tableau de bord Netlify - Exécutez
netlify logspour afficher les logs des fonctions (si vous utilisez Netlify Functions) - Utilisez
netlify devpour le développement local avec Netlify Functions
Référence
- Docs CLI Netlify : https://docs.netlify.com/cli/get-started/
- Référence netlify.toml : https://docs.netlify.com/configure-builds/file-based-configuration/