8768 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Question d'ordre général concernant votre processus de déploiement vers un serveur VPS / hébergement, d'un site web lorsqu'on utilise git et webpack pour les assets.

J'imagine qu'il existe plusieurs pratiques possibles.

Compilation en local ( npm run build ) puis déploiement du dossier buildé "/dist" vers le serveur distant ?
Compilation en ligne par le serveur distant ( mais nécessite installation de node.js / npm : Ok peut être pour un serveur type VPS mais pas sur de la faisabilité sur un mutualisé ).

Pour le scénario sur un hébergement mutualisé, j'ai d'abord pensé compiler avec webpack en local et dans ce cas il ne reste plus qu'à déployer le dossier buildé " /dist " sur le serveur ( via protocole sftp par ex ).

Si possibilité de configurer un repository git sur le serveur ( VPS par ex ) est-il envisageable d'utiliser les hooks git ( type post-receive ) mais dans ce cas cela implique d'avoir le dossier /dist dans le versionning ( pas très convaincu non plus ). Et cela implique aussi le déploiement des sources et pas uniquement du dossier ( /dist ), faut-il dans ce cas ajouter un script en bout de tâches pour déplacer le dossier /dist ailleurs ?

Ou alors compilation par le serveur lui même ( si node.js / npm d'installés ) ?

Je suis preneur de tout type d'informations / recommandations Smiley cligne

Merci à vous
Hello !

Aux dernières nouvelles tu pourras pas utiliser Node.js sur un serveur mutualisé. Donc ça réponds un peu à toutes les questions d'un coup. A partir du moment où t'es sur un VPS ou un dédié, t'as le contrôle total sur la machine. Donc au final tu n'auras qu'à :

- Te connecter en SSH sur ta machine
- Pull ton repository (qui contient que les sources effectivement)
- Compiler et servir

Dépendant de l'image que tu auras utilisée pour ta machine, tu devras peu être faire quelques installations au préalable (Node.js et Git pour ne citer qu'eux). Je te conseille aussi de monitorer ton service. En général le client est averti quand la machine tombe, mais ce qui est à l'intérieur est à la charge de son propriétaire.

C'était mon avis, peu être que d'autres procèdent d'une autre manière. Néanmoins, j'espère t'avoir éclairé.

EDIT : Je me rends compte que j'ai peu être mal compris ton problème. Si tu souhaites automatiser le déploiement à chaque push sur ton repository, il faut te tourner vers un outil d'intégration et livraison continue comme Jenkins.
Modifié par Anymah (26 Mar 2018 - 21:58)