Commandes de déploiement automatique d'applications Node.js

Lorsque des projets utilisant principalement webpack et Node.js sont déployés et mis à jour, il est nécessaire d'exécuter des scripts de compilation. Cela permet d'exclure les fichiers compilés du code source, et de faire une compilation cohérente avec l'environnement (par exemple, des fichiers compilés différemment pour un environnement de développement ou un environnement de production).

Pour y arriver sur Plesk avec Phusion Passenger, j'utilise les commandes suivantes :

export PATH="$PATH:/opt/plesk/node/16/bin" && npm install --scripts-prepend-node-path > npm.log 2>&1
export PATH="$PATH:/opt/plesk/node/16/bin" && npx webpack build --config ./webpack.config.js > npx-webpack.log 2>&1
export PATH="$PATH:/opt/plesk/node/16/bin" && npx grunt-cli buildcss > npx-css.log 2>&1
touch ./tmp/restart.txt

À noter que :

  • Il faut choisir la version de Node.js à utiliser. Dans l'exemple précédent, la version 16 a été choisie.
  • Les messages des sorties (output) sont redirigés vers des fichiers de logs, plutôt que d'être affichés dans l'interface de Plesk.

Optionnellement, lorsque des patches doivent être appliquées sur certains packages et que patch-package est utilisé, on peut ajouter la commande suivante :

export PATH="$PATH:/opt/plesk/node/16/bin" && npx patch-package

Une fois configuré dans l'interface, voici ce à quoi ça ressemble.

Exemple visuel dans Plesk