• [^] # Re: git

    Posté par . En réponse au journal S'abonner par email à un site statique ?. Évalué à 3. Dernière modification le 16 août 2020 à 12:30.

    Je rejoins les avis du dessous pour garder les choses séparées et donc d'avoir une mailing-list à part.

    L'email pourrait en effet être envoyé directement par le hook.

    Un exemple de hook post-receive que j'utilise pour générer un site Hugo sur un git push :

    #!/bin/bash
    HUGO_WORK_DIR="/chemin/gitworkdir"
    HUGO_ARGS="--noChmod"
    set -e
    # le hook est non-interactif, s'assurer du umask
    umask 0027
    # Ce workdir ne sera jamais pushé. On peut donc forcer son contenu depuis le
    # bare.
    GIT_WORK_TREE="$HUGO_WORK_DIR" git checkout -f
    # On génère le site Hugo si le push est sur la branche master.
    while read oldrev newrev ref
    do
     if [[ $ref =~ .*/master$ ]];
     then
     hugo --source "$HUGO_WORK_DIR" "$HUGO_ARGS"
     else
     echo "Branche inconnue : on ne fait rien."
     fi
    done

    J'oubliais, une particularité, le hook est ici sur le dépot bare, le dépot de travail n'existe que pour fournir les fichiers à Hugo : c'est installé sur un serveur distant, l'usage typique de Hugo étant plutôt de générer le site sur sa propre machine.