Go to file
thopic d0ee343b45
Use last commit date instead of unix mtime
* simplify last website mtime script
* link appropriate commit to last mtime
2023-07-11 11:23:24 +02:00
html Use last commit date instead of unix mtime 2023-07-11 11:23:24 +02:00
.env.example First draft 2021-11-19 17:09:24 +01:00
.gitignore First draft 2021-11-19 17:09:24 +01:00
LICENSE reset 2021-11-17 22:33:58 +01:00
print_stats.py First draft 2022-02-10 17:39:23 +01:00
README.md Update post-receive hook to avoid unwanted merge 2023-07-11 11:17:45 +02:00

Sources du site de GNOUS

La dernière version stable est accessible à cette adresse : https://www.gnous.fr

Déploiement

Ce site est déployé au moyen d'un tour de passe-passe qui combine git et Docker.

Un hook post-receive (voir ci-dessous) permet d'automatiquement mettre à jour le dépôt git servant les sources à chaque événement de poussée concernant la branche master. Pour plus de simplicité, le dépôt est monté dans le conteneur applicatif de g² (Gitea).

#!/bin/bash
TARGET="/var/lib/apache"
REMOTE="local"

while read oldrev newrev ref
do
        # only checking out the master (or whatever branch you would like to deploy)
        if [ "$ref" = "refs/heads/master" ];
        then
                cd $TARGET
                unset GIT_DIR
                PROD_BR=`git rev-parse --abbrev-ref HEAD`
                if [ $PROD_BR != "master" ];
                then
                        echo "Production repo is on $PROD_BR branch. Aborting..."
                else
                        echo "Ref $ref (${newrev:0:7}) received. Deploying master branch to production..."
                        git pull --ff-only $REMOTE master
                fi
        else
                echo "Ref $ref received. Doing nothing: only the master branch may be deployed on this server."
        fi
done

Testing

Une version de test tourne peut-être ici.

Protection basique du site en développement (testing)

Définition d'un fichier .htaccess et .htpasswd à la racine du répertoire web :

cat << EOF >> .htaccess
AuthName "Pages de test"
AuthType Basic
AuthUserFile "/var/www/html/.htpasswd"
Require valid-user
EOF

printf "USER:$(openssl passwd -apr1 PASSWORD)\n" >> .htpasswd