Blog Santagostino, sotto il cofano
By Saverio Menin
Blog Santagostino, sotto il cofano
Eccoci a spiegare come questo blog ha preso forma, che tecnologie ci sono sotto al cofano per permettere di essere visualizzato da tutti voi.
Nel realizzare il blog, non abbiamo voluto utilizzare strumenti standard e sicuramente più utili allo scopo, am abbiamo voluto provare a realizzarlo con alcuni strumenti che sicuro sono più confident ad uno sviluppatore, perchè il blog è scritto da sviluppatori per sviluppatori e quindi abbiamo liberato il nerd che è in noi!
Per la realizzazione del blog abbiamo utilizzato:
Ma che cosa sono e qual’è il loro scopo ed utilizzo? Vediamolo!
Le tecnologie
Framework Hugo
E’ un framework (scritto in Go) per generare siti statici a partire da file markdown.
Abbiamo scelto questo framework, per la sua semplicità, velocità e per la possibilità di usare markdown che per noi sviluppatori è estremamente comodo per avere testo formattato e versionato!
GitHub
Usiamo GitHub per il repository del nostro blog.
In questo modo il blog può essere scritto da più persone, abbiamo un versionamento degli articoli e la possibilità di fare rollback quando desideriamo!
Github Pages
E’ uno dei tanti servizi offerti da GitHub per poter pubblicare un sito hostato in un repository Github.
Abbiamo scelto questo servizio per vari motivi, tra cui:
- completa integrazione con il nostro repository
- integrazione con Hugo attraverso delle actions apposite su gitHub Actions
- servizio gratuito con possibilità anche di un custom domain
Github Actions
E la nostra CI/CD per pubblicare il blog. Abbiamo realizzato uan semplicissima per compilare il blog e pubblicarlo.
La pipeline è composta dai seguenti passaggi:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
Facciamo il checkout del nostro git includendo i sub-modules (questi sono usati dal framework hugo pe ri template grafici)
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.5.0
with:
hugo-version: 'latest'
extended: true
Installiamo la versione del framework huguo (l’ultima disponibile) che ci servirà per compilare il blog.
- name: Build
run: hugo
Lanciamo il comando hugo
per compilare il blog e tradurlo in una pagina HTML statica
- name: Deploy
uses: peaceiris/actions-gh-pages@v3.8.0
if: github.ref == 'refs/heads/master'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
Facciamo il deploy su Github pages ed invalidiamo la cache per la pubblicazione
Conclusioni
Questo è come viene gestito il blog che state leggendo!
E le idee di innovazione non finiscono qui, abbiamo in cantiere:
- la possibilità da GitHubActions di pubblicare un post su linkedin/twitter aziendale per notificare il nuovo articolo
- la gestione di Google Analytics per report visualizzazioni
E molto altro …