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
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Creare una custom property in GitHub
Referenziare un @layer più alto in CSS
Configurare lo startup di applicazioni server e client con .NET Aspire
Utilizzare il trigger SQL con le Azure Function
Anonimizzare i dati sensibili nei log di Azure Front Door
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Eseguire i worklow di GitHub su runner potenziati
Collegare applicazioni server e client con .NET Aspire
Configurare e gestire sidecar container in Azure App Service