Aller au contenu

Automatiser le déploiement d'un blog Hugo

Wercker est une société néerlandaise distribuant une plate-forme de distribution continue basée sur Docker. Grâce à son interface de ligne de commande, les développeurs peuvent créer des conteneurs Docker sur leur bureau, automatiser leurs processus de création et de déploiement, puis les déployer sur diverses plateformes cloud, allant de Heroku à AWS et à Rackspace.

L’idée est ici de se créer un site avec HUGO et ensuite d’automatiser la publication grâce à wercker. À chaque commit sur votre dépôt du blog le déploiement des pages sera automatiquement poussé dans le dépôt pilotant votre blog.

Prérequis

Il faut dans un premier temps se créer un TOKEN sur votre compte GitHub. Pour cela il faut se rendre dans la page settings de votre compte puis Developer settings / Personal access tokens. Renseignez le nom et cocher repo. Il faut dans un second se créer un compte sur le site Wercker en s’identifiant avec son compte github. Et pour finir créez un dépôt github qui recevra le résultat du build. Ce dépôt devra se nommer user-github.github.io

Au boulot

Dans votre dépôt Hugo sur Github, il faut créer un fichier wercker.yml dont le contenu est le suivant :

box: debian
build:
steps:
- arjen/hugo-build:
theme: my-theme
flags: --buildDrafts=false
deploy:
steps:
- uetchy/gh-pages:
token: $GITHUB_TOKEN
repo: stephrobert/stephrobert.github.io
path: public

N’oubliez pas de modifier les lignes theme et repo avec le nom de domaine de votre blog.

Maintenant retournez sur Wercker cliquez sur Create puis Application :

Creer Wercker application

Sélectionner votre dépot comme ci-dessus et appuyer sur [use] puis [selected repo], ensuite [Next Step] et [Finish]

Dans l’affichage suivant cliquer sur [I already have a wercker.yml, trigger a build now.]

Creer Wercker application

La partie Build va commencer. Si elle se termine avec succès on peut passer à la partie deploy. Cliquer sur l’onglet WorkFlow puis sur le signe [+] situé après la tâche build. Dans la liste Execute Pipeline selectionner deploy puis cliquer sur [ADD]

Creer Wercker application

Il faut encore entrer le TOKEN générer précédemment. Cliquer sur le Pipeline deploy en bas de l’écran Workflow En haut de l’écran dans Key entrer GIT_TOKEN et dans Value la clé retournée par Github. Valider en cliquant sur [ADD]

Faites une modification sur votre dépôt Github et hop si vous retourner sur votre blog quelques minutes après vous devriez retrouver vos modifications. Du beau boulot.