Titolo del modulo: dgt_devops06 – Code Quality – SonarQube
Descrizione del modulo:
Questo modulo, “dgt_devops06 – Code Quality – SonarQube”, tratta la qualità del codice attraverso l’analisi statica e le pratiche di continuous integration. Rivolto a sviluppatori e professionisti DevOps, esamina le funzionalità di SonarQube, uno strumento per individuare bug, vulnerabilità e code smell.
Prima impari cosa significano le metriche di qualità e come SonarQube le calcola. Poi, nella pratica, lavori solo in linguaggio naturale: chiedi alla macchina di avviare un server SonarQube, inserire una scansione nella pipeline e definire un Quality Gate con le soglie che scegli tu. Quindi leggi la configurazione della pipeline e le proprietà dello scanner che ha prodotto, verifichi che il gate blocchi davvero il merge che deve bloccare e valuti se le issue segnalate sono problemi reali o rumore.
Obiettivi di apprendimento principali:
-
Comprendere le metriche di qualità del codice: acquisire familiarità con le principali metriche di qualità e capirne l’impatto su manutenibilità, affidabilità e prestazioni del software.
-
Introduzione all’analisi statica: apprendere i fondamenti dell’analisi statica: in cosa differisce dal testing dinamico, quali vantaggi offre e come usarla efficacemente per individuare i problemi nelle prime fasi del ciclo di sviluppo.
-
SonarQube:
- Esplorare l’architettura e le funzionalità di SonarQube.
- Far installare e configurare alla macchina un server SonarQube per i propri progetti, verificando che il setup rispetti i requisiti.
-
Descrivere in linguaggio naturale come SonarQube deve integrarsi con i più diffusi strumenti di CI/CD come Jenkins, GitLab CI o GitHub Actions, e rivedere l’integrazione che costruisce.
-
Strategie di Continuous Integration (CI): comprendere il ruolo della qualità del codice nelle pipeline di continuous integration. Conoscere le best practice per integrare l’analisi statica nei processi di CI, in modo che la qualità del codice venga verificata a ogni modifica.
-
Integrare SonarQube nelle pipeline CI/CD:
- Istruire la macchina, passo dopo passo, ad aggiungere le scansioni SonarQube ai workflow CI/CD esistenti, controllando ogni modifica che apporta.
- Specificare con precisione i controlli automatici di qualità del codice e usare i report di SonarQube per orientare le decisioni di sviluppo.
-
Strategie per usare i Quality Gate di SonarQube per far rispettare gli standard di codice e impedire che codice di bassa qualità avanzi nella pipeline.
-
Funzionalità avanzate di SonarQube:
- Esplorare regole personalizzate, plugin ed estensioni per adattare SonarQube alle proprie esigenze.
-
Studiare il supporto multi-linguaggio e capire come gestire progetti con stack tecnologici eterogenei.
-
Casi di studio ed esercizi in linguaggio naturale: affrontare esercizi che simulano scenari reali. Guiderai la macchina nella costruzione di una pipeline CI/CD integrata con SonarQube, poi analizzerai i report di qualità del codice, verificherai che la pipeline si comporti come previsto e prenderai decisioni consapevoli per migliorare il codice del progetto.
A chi è rivolto:
- Sviluppatori software che vogliono migliorare le proprie pratiche di sviluppo.
- DevOps engineer che intendono integrare strumenti avanzati di analisi statica nelle pipeline CI/CD.
- Professionisti del quality assurance interessati ad automatizzare i processi di code review.
- IT manager che definiscono gli standard di qualità del codice tra i team.
Al termine del modulo, i partecipanti conosceranno SonarQube in profondità e sapranno metterlo al lavoro nei propri workflow di sviluppo e deploy istruendo la macchina e verificandone l’output.
Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, crea una cartella con il tuo username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy
