Blog aggiornato con Hugo e GitHub Actions
25 Apr 2020 - Giulio Vian - ~2 minuti
Tre anni fa scrivevo di come avevo migrato il contenuto del blog su Azure DevOps (da notare che aveva un nome diverso all’epoca). Oggi invece scrivo di come ho migrato il tutto su GitHub.
Ritornando sulla soluzione ho scoperto quanto Hugo sia evoluto e quante personalizzazioni posso buttare, grazie al principio fondante “le batterie sono comprese”.
Oltre ad aver aggiornato la versione di Hugo da 0.24.1 a 0.68.3, ho migrato, o meglio riscritto, il processo automatico di pubblicazione usando GitHub Actions. Avevo due motivi per farlo: il primo è provare GitHub Actions in questo scenario e, devo dire, è andata veramente liscia. Il secondo motivo viene dagli amici di Get Latest Version : abbiamo un progetto per i prossimi mesi che ci richiede un sito dedicato con poco o nullo impegno di gestione. Un’ottima scusa per esaminare strumenti di pubblicazione e tecnologia web.
Pubblicare un sito usando GitHub Actions
Le GitHub Actions sono molto semplici da usare, basta aggiungere un file YAML nella cartella .github/workflows
del repository GitHub. Sentiti ringraziamenti a Shohei Ueda (nick name
peaceiris
) per l’ottimo lavoro nel creare delle Actions semplici ed efficaci per questo compito.
Potete vedere, infatti, che l’intero script è lungo meno di 20 righe. Più oltre commenterò alcuni punti interessanti.
|
|
Le cose da osservare sono evidenziate nel listato. La riga 11 (submodules: true
) garantisce che venga scaricato anche il tema del sito, in caso contrario, apparirebbe senza formattazione. Le righe 15 e 16 la versione di Hugo che vogliamo. La mia raccomandazione è di essere sempre espliciti per evitare sorprese: nuove versioni, e di Hugo e del tema, si susseguono velocemente e talvolta cambiano il comportamento e bisogna adeguare il codice esistente.
Per pubblicare il sito generato da Hugo (righe da 19 a 25), ho scelto di usare un diverso repository GitHub. Benché sia più complicato di altre tecniche – ad esempio, usare il branch gh-pages
dal medesimo repository – mi permette di avere un maggior controllo in previsione di cambiamenti futuri.
Per oggi è tutto e a risentirci presto.