Home Tags Anciens articles Mon CV

AWS Amplify : Hugo

Ce midi, un rapide billet sur un morceau de documentation qui a attiré mon œil et qui m’a donné une idée de plus à ajouter ma TODO list déjà bien pleine 🙂

Comme vous le savez ou non, mon blog tourne pour le moment en WordPress dans une infrastructure LXD pilotée par Ansible (encore un article qui est commencé et n’est toujours pas terminé, clin d’œil).

Hugo est un moteur de blogging en fichiers plats, c’est à dire qu’il génère du HTML depuis du Markdown. J’avais essayé il y a quelques mois déjà, mais j’étais finalement parti sur l’infrastructure décrite ci-dessus.

Seulement et comme évoqué plus tôt, j’ai vocation à finir l’année en full Serverless et c’est hors de question avec WordPress, j’ai besoin de quelque chose de plus agile. Puis j’ai découvert cette page de la documentation d’Hugo et l’idée a commencé à germer.

Si vous ne connaissez pas AWS Amplify, je dirais en quelques mots inspiré de la doc officielle qu’il s’agit d’un outil facilitant les déploiements Serverless dans AWS.

Je suis donc en train de faire des tests pour implémenter le pipe suivant: après avoir monté un pipeline Amplify connecté à mon repository CodeCommit qui contient mon code Hugo, j’écris mon code en Markdown sur mon poste. Je génère le HTML via la commande Hugo, puis, une fois que le rendu me plaît, je commit et paf! La magie d’Amplify fait que ça se retrouve en ligne.

En effet, une fois le pipe Amplify connecté au repository de code, il faut paramétrer des options de déploiement. Mais la beauté de la chose, c’est qu’Amplify détecte automatiquement les paramètres positionnés dans le repository Hugo.

Notamment que la directory publiée est le /public/ où se trouvent les fichiers HTML. Il ne reste ensuite qu’à créer un CNAME sur le DNS fourni par Amplify.

Les premiers tests sont prometteurs, il faut maintenant que je creuse le truc un peu plus et que je trouve une façon de convertir l’existant en Hugo sans pertes.

Pourquoi les journées ne font que 24h 🙂