Questo aggiornamento non porta con se nuove idee o prodotti, ma un esperimento nel mondo dell'automazione legeto allo sviluppo di software su github.
In generale dopo aver chiuso le idee in sospeso sto cercando di focalizzarmi nuovamente su una linea precisa, ma complice il periodo di quarantena, non riesco a "mettere a terra" le idee
Github action sql check
Cos'è ?
Le github action sono "azioni" che si possono attivare su github nel proprio repository di codice per analizzarlo, compilarlo, validarlo. Eventualmente queste azioni sono pubblicabili in un registro pubblico (ed anche monetizzabili).
Nel mondo dello sviluppo software il tema dell'automazione delle operazioni ripetitive è molto sentito e personalmente al lavoro usiamo un altro strumento ( Jenkins ). L'importanza crescente di github (anche alla luce delle ultime scelte commerciali, che lo rendono gratis per i team senza limiti di dimensione) è tale che un esperimento per capire come funzionano le github action penso sia doveroso per farsi un'opinione informata.
Relativamente al mio esperimento, l'obbiettivo
di questa action è al push su github di un file sql, invocare una
validazione della sintassi dei comandi sql nel file e ritornare il
risultato della validazione.
A che punto siamo ?
L'action è disponibile su github ed è opensource, il repository lo trovate qui.
Attualmente su github trovate una prima rudimentale versione, per cui sono aperto a suggerimenti se avete già visto/implementato una soluzione simile.
L'insieme delle tecnologie coinvolte è variegato:
- java11
- gradle
- validazione dell'sql tramite JsqlParser
- docker
- github action
Il
controllo è volutamente basilare e migliorabile, quello che mi premeva é
provare sul campo quanto sono flessibili le github action e quanto
tempo ci vuole per metterle in campo.
Diciamo che in cinque
giorni (lavorando un paio di ore la sera), con un pò di sforzo, sono
riuscito partendo da zero ad avere qualcosa di funzionante, ma con
qualche difficoltà ( con un totale circa di 6-8 h di lavoro).
La prima è proprio la
documentazione, sembra ben strutturata, ma è molto frammentaria su
molteplici fronti, per cui dubito di usare le github action per progetti
più complessi.
Uniamoci poi alcune scelte di modo di lavoro piuttosto forti ( mancanza di un'ide dedicata qui si fa sentire), tra cui l'assurdo problema di come passare variabili di ambiente da uno step all'altro del workflow. Sono io ad aver capito male oppure no ? Qualcuno ha trovato una soluzione su come passare valori da un job all'altro per concatenarli ?
Uniamoci poi alcune scelte di modo di lavoro piuttosto forti ( mancanza di un'ide dedicata qui si fa sentire), tra cui l'assurdo problema di come passare variabili di ambiente da uno step all'altro del workflow. Sono io ad aver capito male oppure no ? Qualcuno ha trovato una soluzione su come passare valori da un job all'altro per concatenarli ?
Piani futuri
Relativamente a questo esperimento lo considero chiuso, lo espanderò in futuro se avessi bisogno di usare questa action su miei repository su github.In generale l'obbiettivo del prossimo mese è quello di trovare un nuovo progetto sul quale focalizzare le forze.
Nessun commento:
Posta un commento