Petite mise à jour du script du 26 juillet 2013, puisque j’ai déménagé le serveur depuis un petit temps et que je passe dorénavant par Nginx. Du workflow, je conserve le lien avec Git et la centralisation dans un Gitlab. Pour la publication, je garde la génération automatique, mais uniquement si le dépôt a été mis à jour.
Bon, à un moment, j’ai pensé déplacer le contenu statique vers Amazon S3 <https://aws.amazon.com/fr/s3/>
_, avec un petit pointeur DNS vers le bon noeud. Il y a pas mal de ressources utiles sur ce point, je vous laisse donc faire votre shopping, mais ayant un serveur à disposition, j’ai +/- laissé tomber. Vous trouverez déjà tous les liens rassemblés ci-dessous:
Matt McManus - How I set up, designed, and published this website <http://www.mamcmanus.com/posts/how-i-built-this-site>
_Matt McManus - Setting up a Pelican site under your own domain using Amazon S3 <http://www.mamcmanus.com/posts/amazon-s3-pelican-site>
_Better Pelican hosting with Amazon S3 and CloudFront <https://pmac.io/2014/06/pelican-s3-cloudfront/>
_Setting Up a blog with Pelican and Amazon S3 <http://lexual.com/blog/setup-pelican-blog-on-s3/>
_Moving to Amazon S3 <http://cbudjan.com/2013/06/amazon-s3/>
_Amazon S3 Versioning - What, how and why? <https://linuxacademy.com/blog/amazon-web-services-2/amazon-s3-versioning-what-how-why/>
_
Le script ressemble à ceci:
#! /usr/bin/env bash
git fetch origin
reslog=$(git log HEAD..origin/master --oneline)
if [[ "${reslog}" != "" ]] ; then
echo "Updating pelican-site"
git merge origin/master
virtualenv -p /usr/bin/python3 .
source bin/activate
pip install -r requirements/base.txt
pelican
fi
Pour son exécution, j’ai ajouté une ligne dans Cron:
30 * * * * /var/www/{site_name}/update_site.sh
Nginx pointe alors vers le répertoire output
, qui sera généré par
Pelican.