Oubliez FileZilla et déployez avec Dploy

16 Février 2018 à 18:00 Programmation

Je ne publierai plus rien sur ce blog. Un nouveau blog existe maintenant. Il se nomme Hardly Smart.

Vous pourrez y retrouver des astuces plus larges sur l'informatique ainsi que mes anciens billets de blog.

Je vous souhaite une bonne lecture sur Hardly Smart.


Sur mon serveur actuel à cause de ma flémagite aigüe je n'ai pas installé Git et pour déployer les mises à jour de mon site je ne peux pas faire un git pull. Du coup, je dois passer par FileZilla, me souvenir quels sont les fichiers que j'ai mis à jour, créés ou supprimés. Un vrai calvaire. Mais ça c'était avant (comme disait un certain opticien).

Aujourd'hui je vous propose de découvrir un module NodeJS nommé Dploy. Il est très léger et s'utilise en ligne de commande. Il faut juste que vous versionnez votre projet car Dploy se base sur les commits que vous faites.

Installation

Je pars du principe que vous avez déjà d'installé sur votre machine NodeJS et que vous avez la commande npm de disponible sur votre machine. Sinon, je vous laisse télécharger NodeJS et l'installer.

npm install dploy -g

Une fois terminé, rendez-vous dans le dossier de votre projet et tapez :

dploy install

A partir de là, Dploy va vous créer un fichier YAML nommé dploy.yaml qui vous permettra de configurer vos différents environnements de déploiement.

dploy.yaml

Avant toute chose, si vous ne connaissez pas le YAML et sa structure, je vous invite à lire la documentation disponible sur le site de Symfony qui vous expliquera tout ce que vous devez savoir.

server_name:
    scheme: ftp
    host: ftp.monserveur.fr
    port: 21
    user: mon_identifiant
    pass: mon_motdepasse
    check: true
    slots: 5
    exclude: ["dploy.yaml", ".gitignore"]
    path:
        remote: /www/

Détaillons maintenant ensemble chacune des lignes :

  • server_name : Le nom de votre serveur. Utile si vous avez par exemple un serveur de préprod et un serveur de prod
  • scheme : Type de connexion, ftp ou sftp
  • host : URL de connexion
  • port : Numéro de port
  • user : Nom d'utilisateur pour se connecter
  • pass : Votre mot de passe
  • check : Est-ce qu'avant d'envoyer les fichiers sur votre serveur, vous souhaitez voir les fichiers impactés
  • slots : Nombre de connexions simultanées
  • exclude : Tableau de fichiers que vous ne souhaitez pas uploader
  • path remote : Dossier sur le serveur où seront placés les fichiers

Vous pouvez consulter la liste complète des options disponibles sur la documentation.

Déploiement

Pour déployer votre projet, rien de plus simple, faites votre commit avec votre logiciel préféré et une fois terminé tapez juste :

dploy server_name

Si vous ne spécifiez pas de server_name, il prendra le premier dans la liste.

Et si vous avez activé le check, il vous montrera les fichiers qui vont être ajoutés, modifiés ou supprimés. Je vous conseille de le laisser pour bien vérifier que vous n'avez pas fait d'erreur. Il serait dommage que sans faire attention vous envoyez les fichiers en prod alors que vous souhaitiez les envoyer en préprod.

Articles liés

Les commentaires ont été désactivés.

0 commentaire