Logo journal du hacker middle
  1. 7
  1.  

  2. 2

    Je vois souvent ce genre de truc pour déployer un blog, mais quel est l’avantage par rapport à un script shell déclenché par un hook git ? Là on se retrouve à devoir utiliser une forge logicielle + un serveur pour le webhook. Ça ajoute pas mal de dépendances, non ?

    1. 1

      J’avoue ne pas connaître exactement les possibilités de hook git sur Github par exemple.

      Mais j’imagine qu’on a 2 possibilités :

      1. soit mettre le hook sur Github (et donc s’il déploie le serveur il faut les id/mdp qu’on met… sur une plateforme qui n’est pas à nous)
      2. soit mettre le hook sur son serveur ; si c’est pour un dépôt qui est sur Github, il faut donc synchroniser les dépôts et maintenir un dépôt Git sur son serveur (ce que je ne souhaite pas forcément aux vues de mes restrictions serveur)

      L’idée est de déporter l’action sur un serveur sur lequel on a la main.

      Gachette fait une pseudo authentification entre le nom du projet (par exemple blankoworld/gachette) avec un mot de passe (certes déposé sur Github/Gitlab/Gitea).

      Étant donné que dans l’article j’exprime le fait d’avoir des dépôts disséminés partout (Framagit, Github, etc.), je permets d’avoir mes scripts hébergés chez moi avec les bonnes infos (id/mdp pour synchroniser par exemple).

      J’ai l’impression que, quoiqu’il arrive, il faut un service sur son serveur qui soit copie le dépôt Github régulièrement pour savoir qu’un commit a été fait et ajouter un hook git, soit un serveur de Webhooks (dont c’est le job) qui reçoit directement la requête de Github afin de déclencher une action.

      Ai-je répondu à la question ?

      1. 1

        Haha non je pensais à avoir le hook directement sur ta machine à toi.

        Du coup ça implique d’avoir hugo (mais bon généralement on l’a déjà sur sa machine pour au moins avoir la preview) + rsync sur la machine où tu écris/git commit.

        Perso c’est ce que j’ai fait, j’ai hook sur pre-push. Donc juste avant de push, ça execute le script (génération du site+génération des images+compression du site+génération de blogroll+rsync vers le serveur web).

        Mais du coup ma question, le fait de déporter ça sur un serveur ça a quel intéret si ce n’est de pouvoir git push depuis n’importe quelle machine ?

        1. 1

          L’avantage du serveur déporté (tout comme une CI finalement) c’est la souplesse de plusieurs machines adaptées SI on peut se le permettre.

          Mais aussi de pouvoir utiliser les éditeurs de chacune des plateformes sans avoir Hugo d’installé ! J’édite sous Github, Gitlab, Gitea, puis toutes ses plateformes web permettent de commit puis d’envoyer un appel à Gâchette qui s’occupe du reste.

          Je n’ai pas toujours la possibilité d’avoir Hugo sur les machines qui me tombent sous la main. Ni la patience et le temps d’installer ce qu’il faut.

    2. 1

      C’est étrange d’avoir besoin de plusieurs forges.

      1. 1

        C’est une histoire de participation à des projets Libres qui décident d’être sur plusieurs forges, tout simplement.

        Et parfois, suivant les moments de mon histoire, j’ai déposé des projets sur l’une ou l’autre plateforme. Par exemple Github pour le projet Gachette lui-même, Framagit pour des présentations, etc.

      2. 1

        Est-ce que l’utiliser d’une CI/CD (comme Woodpecker-CI par exemple) t’a déjà traversé l’esprit ?

        1. 2

          Oui tout à fait. À l’époque je ne connaissais que DroneCI, Woodpecker n’existait pas ou n’était pas encore connu.

          Ensuite mes machines ne tenaient pas le coup avec l’ensemble des services (26 environ) qui tournaient sur le fameux serveur dédié OVH à 42€/an.

          Il a fallu faire preuve d’ingéniosité ET garder un certain minimalisme tout en ayant un certain contrôle de ce qu’on utilise.