# 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](https://git-scm.com/docs/githooks#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). ```bash #!/bin/bash TARGET="/var/lib/apache" REMOTE="local" while read oldrev newrev ref do echo "Ref $ref (${newrev:0:7}) received." # 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 "Doing nothing: production repo is on $PROD_BR branch." else echo "Deploying master branch to production..." git pull --ff-only $REMOTE master fi else echo "Doing nothing: only the master branch may be deployed on this server." fi done ``` ## Testing Une version de test tourne peut-être [ici](https://www.test.gnous.fr). ### Protection basique du site en développement (testing) Définition d'un fichier `.htaccess` et `.htpasswd` à la racine du répertoire web : ```bash 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 ```