Déployer des sites web Next.js au rendu statique sur Azure Static Web Apps
Dans ce tutoriel, apprenez à déployer un site web statique généré Next.js sur Azure Static Web Apps. Pour plus d’informations sur les Next.js spécifiques, consultez le fichier Lisez-moi du modèle de démarrage.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Un compte GitHub. Créez un compte gratuitement.
- Node.js (déjà installé).
1. Configurer une application Next.js
Au lieu d’utiliser l’interface CLI Next.js pour créer une application, vous pouvez utiliser un référentiel de démarrage. Le référentiel de démarrage contient une application Next.js existante qui prend en charge les itinéraires dynamiques.
Pour commencer, créez un référentiel sous votre compte GitHub à partir d’un référentiel de modèles.
Accédez à https://github.com/staticwebdev/nextjs-starter/generate
Nommez le référentiel nextjs-starter
Ensuite, clonez le nouveau référentiel sur votre ordinateur. Remplacez
<YOUR_GITHUB_ACCOUNT_NAME>
par le nom de votre compte.git clone http://github.com/<YOUR_GITHUB_ACCOUNT_NAME>/nextjs-starter
Accédez à l’application Next.js qui vient d’être clonée.
cd nextjs-starter
Installez des dépendances.
npm install
Démarrez l’application Next.js dans l’environnement de développement.
npm run dev
Accédez à
http://localhost:3000
pour ouvrir l’application, où le site web suivant devrait s’ouvrir dans votre navigateur favori :
Lorsque vous sélectionnez une infrastructure ou une bibliothèque, vous devez voir une page détaillant des informations sur l’élément sélectionné :
2. Créer une application statique
La procédure suivante vous indique comment lier votre application Azure Static Web Apps. Puis, une fois dans Azure, vous pourrez déployer l’application dans un environnement de production.
Accédez au portail Azure.
Sélectionnez Créer une ressource.
Recherchez Static Web Apps.
Sélectionnez Static Web Apps.
Sélectionnez Create (Créer).
Sous l’onglet Informations de base, entrez les valeurs suivantes.
Propriété Valeur Abonnement Le nom de votre abonnement Azure. Groupe de ressources my-nextjs-group Nom my-nextjs-app Type de plan Gratuit Région de l’API Azure Functions et des environnements intermédiaires Sélectionnez la région la plus proche de vous. Source GitHub Sélectionnez Se connecter avec GitHub et authentifiez-vous auprès de GitHub si vous y êtes invité.
Entrez les valeurs GitHub suivantes.
Propriété Valeur Organisation Sélectionnez l’organisation GitHub appropriée. Dépôt Sélectionnez nextjs-starter. Branche Sélectionnez principal. Dans la section Détails de build, sélectionnez Personnalisé dans Présélections de build. Ajoutez les valeurs suivantes comme pour la configuration de build.
Propriété Valeur Emplacement de l’application Entrez / dans la zone. Emplacement de l’API Laissez cette boîte vide. Emplacement de sortie Entrez sortie dans la boîte.
3. Vérifier et créer
Sélectionnez Vérifier + créer pour vérifier que les informations sont correctes.
Pour démarrer la création de l’application web statique App Service et le provisionnement d’un GitHub Actions pour le déploiement, sélectionnez Créer.
Une fois le déploiement terminé, sélectionnez Accéder à la ressource.
Dans la fenêtre Vue d’ensemble, cliquez sur le lien URL pour ouvrir l’application que vous avez déployée.
Si le site web n’est pas chargé immédiatement, la build est toujours en cours d’exécution. Pour vérifier l’état du workflow Actions, accédez au tableau de bord Actions pour votre référentiel :
https://github.com/<YOUR_GITHUB_USERNAME>/nextjs-starter/actions
Une fois le workflow terminé, actualisez votre navigateur pour afficher votre application web.
Désormais, toutes les modifications apportées à la branche main
démarrent une nouvelle build et un nouveau déploiement de votre site web.
4. Synchroniser les modifications
Une fois l’application créée, Azure Static Web Apps a créé un fichier GitHub Actions dans votre référentiel. Synchronisez avec le serveur en extrayant la dernière version de votre référentiel local.
Revenez au terminal et exécutez la commande suivante : git pull origin main
.
Configuration du rendu statique
Par défaut, l’application est traitée comme une application de rendu hybride Next.js, mais pour continuer à l’utiliser comme générateur de site statique, vous devez mettre à jour la tâche de déploiement.
Ouvrez le référentiel dans Visual Studio Code.
Accédez au fichier GitHub Actions que Azure Static Web Apps a ajouté à votre référentiel dans
.github/workflows/azure-static-web-apps-<your site ID>.yml
Mettez à jour la tâche Générer et déployer pour que la variable d’environnement
IS_STATIC_EXPORT
soit définie surtrue
:- name: Build And Deploy id: swa uses: azure/static-web-apps-deploy@latest with: azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for GitHub integrations (i.e. PR comments) action: "upload" app_location: "/" # App source code path api_location: "" # Api source code path - optional output_location: "" # Built app content directory - optional env: # Add environment variables here IS_STATIC_EXPORT: true
Validez les modifications apportées à Git et envoyez-les à GitHub.
git commit -am "Configuring static site generation" && git push
Une fois la génération terminée, le site est rendu statiquement.
Nettoyer les ressources
Si vous ne prévoyez pas de continuer à utiliser cette application, vous pouvez supprimer l’instance Azure Static Web Apps en effectuant les étapes suivantes.
- Ouvrez le portail Azure.
- Recherchez my-nextjs-group dans la barre de recherche supérieure.
- Sélectionnez le nom du groupe.
- Sélectionnez Supprimer.
- Sélectionnez Oui pour confirmer la suppression.