Home Tags Anciens articles Mon CV

Amplify & Hugo, la suite

Dans cet article, je commençais à vous parler de la prochaine infrastructure du blog. En voici mes premiers retours.

J’ai mis en place le pipe décrit, à savoir :

Pipe amplify

Le code du blog est dans un repository Codecommit, mais sachez qu’Amplify peut aller taper dans du Git(hub|lab), du bitbucket… C’est donc en place et fonctionnel, avec déjà quelques builds à mon actif. Et c’est juste magique.

Je code sur mon PC, je teste en local, je push une fois que l’article me plaît, et Amplify build le tout par les étapes suivantes:

Les étapes d’une génération via Amplify

Explications.

  • Mettre en service : Amplify démarre un conteneur Docker et le provisionne avec les prérequis indiqués dans notre configuration de build.
  • Setup : il récupère les sources de l’app en clonant la dernière version du repository auquel il est connecté.
  • Frontend : il lance la commande « hugo » en conteneur pour builder le site. C’est clairement là que le build est fait donc.
  • Déployer : cette étape porte bien son nom, cela push le résultat du build précédent dans une app dispo sur le web, à savoir dans le cas d’Hugo le contenu du répertoire « /public/ », tel qu’on lui a précisé de le faire dans la configuration du build
  • Vérifier : La console vous présente cinq interfaces présentant la homepage de votre app/site, voir ci-dessous. Cela permet aussi à Amplify de vérifier que la homepage n’est pas en erreur et donc de valider l’étape.

Pour chaque étape vous avez une console avec ce qu’il se passe en arrière plan, ce qui peut être utile pour debugger un build qui s’est mal passé:

Exemple avec l’étape « Frontend »

Prochaine étape donc, la migration de l’historique WordPress en articles Hugo, évidemment sans perte. Pour cela j’ai déniché l’outil wordpress-to-hugo-exporter, qui porte (je l’espère) bien son nom. Basiquement, c’est un plugin WordPress qui s’installe à la main et fait un export de tous les posts, pages, métadata, etc… En Markdown que l’on peut déposé dans notre repo Hugo. A voir…

Je suis en train d’écrire le playbook qui va déployer ça dans mon conteneur LXD WordPress, je ferais un test et vous en ferait un retour.

S’il est positif, je migre les articles et passe en production mon nouveau blog Serverless 🙂