Nel mondo dello sviluppo software, mantenere le librerie e le dipendenze del progetto aggiornate è fondamentale per garantire sicurezza e affidabilità. GitHub offre uno strumento potente per automatizzare questo processo: Dependabot.
Dependabot consente agli sviluppatori di monitorare costantemente le dipendenze di NuGet, o di qualsiasi altro ecosistema, nei loro progetti e di ricevere notifiche automatiche non appena vengono rilasciate nuove versioni. Spesso, il sistema è anche in grado di creare delle pull request con le change da implementare in modo completamente automatico, così da ridurre l'effort della maintenance delle dipendenze al minimo: di fatto, è sufficiente configurare un file.
version: 2 updates: - package-ecosystem: "nuget" directory: "/" schedule: interval: "daily"
Questo file deve chiamarsi dependabot.yml e deve essere incluso nella folder .github. Tuttavia, è tutto ciò che serve per abilitare il monitoraggio e la gestione delle dipendenze.
Infatti, ad intervallo giornaliero - ma anche questo personalizzabile secondo le esigenze -, dependabot inizerà a scansionare la root del repository alla ricerca di dipendenze di NuGet da aggiornare e proporrà le pull request appropriate.
Quanto visto funziona con moltissimi ecosistemi, da NuGet ad npm, passando per le GitHub Actions stesse (infatti anche ciascuna Action non è nient'altro che una dipendenza che arriva dal marketplace) e Terraform. E' particolarmente conveniente quando questo sistema viene integrato con il SBOM, che affronteremo in un altro articolo successivamente.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eliminare una project wiki di Azure DevOps
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Eseguire script pre e post esecuzione di un workflow di GitHub
Ordinare randomicamente una lista in C#
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Referenziare un @layer più alto in CSS
Recuperare l'ultima versione di una release di GitHub
Ottenere un token di accesso per una GitHub App
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Usare il colore CSS per migliorare lo stile della pagina
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi