Redéployer une application Node.js
Redéployer, ce n'est pas seulement remplacer des fichiers : c'est installer les dépendances, redémarrer le processus et vérifier que l'application répond encore. Sur l'hébergement d'applications, l'opération se fait depuis le panneau, sans root ni pipeline intégré. Une procédure courte et répétable évite les états mixtes où d'anciens fichiers côtoient de nouvelles dépendances.
Avant de modifier quoi que ce soit
- Sauvegardez : archive du projet, export de la base si elle contient des données, et sauvegarde proposée par l'offre si elle existe.
- Notez la version actuelle : commit, numéro de release ou date.
- Lisez les changements : nouvelle variable obligatoire, migration de base, version de Node requise.
- Préparez le retour arrière : l'archive précédente doit être téléchargeable et testée.
Ne faites pas de l'édition directe dans le panneau votre seule copie de travail. Un fichier modifié à la main puis écrasé par un déploiement est une perte silencieuse.
Remplacer les fichiers
Selon votre panneau, utilisez le gestionnaire de fichiers, l'import d'archive, Git ou SFTP. La racine du service contient généralement le projet et node_modules. Deux méthodes :
- À l'arrêt : arrêter le service, remplacer les fichiers, installer, redémarrer. Simple et sans état mixte.
- En parallèle : préparer une nouvelle copie, basculer un lien ou un dossier, redémarrer. Plus rapide, mais demande de la rigueur sur les chemins.
Supprimez les fichiers obsolètes : un ancien module supprimé du code mais toujours présent peut être chargé par erreur. Ne copiez jamais node_modules depuis votre machine, surtout si des modules natifs sont présents.
Réinstaller les dépendances
Avec package.json et un lockfile cohérents, npm ci installe exactement les versions verrouillées et repart d'un dossier propre. Sinon, npm install met à jour le lockfile et peut introduire des versions différentes de celles testées.
npm ci
npm run buildSi le build n'est pas nécessaire au runtime, installez uniquement la production :
npm ci --omit=devUne application TypeScript a souvent besoin des dépendances de développement pour compiler, puis seulement des dépendances de production pour tourner. Faites le build avant d'élaguer, ou installez tout, compilez, puis retirez.
Redémarrer et vérifier
Redémarrez depuis le panneau et lisez le journal jusqu'à la ligne d'écoute. Testez ensuite :
- la route de santé, si elle existe, avec un code 200 ;
- une lecture et une écriture en base ;
- une page ou une route qui utilise les fichiers statiques ;
- la version déployée, si l'application l'expose.
Surveillez la mémoire et le CPU quelques minutes : une dépendance native incompatible se manifeste souvent au premier appel, pas au démarrage.
Retour arrière
Si la vérification échoue, restaurez l'archive précédente, relancez npm ci, redémarrez. Ne corrigez pas à chaud un déploiement cassé sans avoir d'abord rétabli un état connu. Conservez une note par déploiement : date, version, commandes exécutées, résultat.
Publicité
Cet article vous a-t-il aidé ?
À lire aussi
- Lire les logs d'une application Node.jsLire stdout et stderr dans la console, repérer une boucle de redémarrage et journaliser sans fuite.
- Héberger un bot Discord Node.jsConnecter un bot discord.js avec un jeton en variable, des intents minimaux et des caches bornés.
- Faire écouter Node.js sur le bon portLire le port alloué, écouter sur 0.0.0.0 et diagnostiquer les conflits.