Tim Izzo @5ika.ch

Pipeline de déploiement minimal

Pipeline de déploiement minimal

Pour ne pas avoir à mettre en place tout un système de pipeline de CI/CD sur mon petit serveur perso, j’ai réfléchi à une solution minimale pour mettre à jour mon blog à chaque fois que je push une modification sur le dépôt Git.

Cette solution repose sur un git hook post-receive placé au niveau du dépôt sur le serveur Soft-Serve.

#!/bin/bash

echo "Deploy blog on 5ika.ch"
su ubuntu << EOF
  git push /var/www/html/blog/
  cd /var/www/html/blog/
  hugo --minify
EOF

Pour autoriser git à faire un push vers un autre dossier local (/var/www/html/blog), il est nécessaire de lancer la commande suivante dans le dossier qui reçoit le push:

git config receive.denyCurrentBranch updateInstead

À chaque push vers le dépôt git, le script de déploiement est exécuté et les logs s’affichent avec ceux de la commande git push.


Cette page vous est utile ? Vous avez vu une coquille ou vous avez une suggestion d'amélioration ?
Dites-le moi sur Mastodon ou par email car je n'ai pas d'autre moyen de le savoir :-)