Hosting di feed NuGet personalizzati
Invece di rendere i pacchetti pubblicamente disponibili, potrebbe essere necessario rilasciarli solo per un pubblico limitato, ad esempio un'organizzazione o un gruppo di lavoro. Inoltre, per alcune aziende potrebbe essere necessario limitare le librerie di terze parti utilizzabili dagli sviluppatori, vincolandoli ad attingere a un'origine pacchetto limitata anziché a nuget.org.
Per tutti questi scopi, NuGet supporta l'impostazione di origini pacchetto private secondo le modalità seguenti:
- Feed locale: i pacchetti vengono semplicemente inseriti in una condivisione file di rete appropriata, preferibilmente usando
nuget init
enuget add
per creare una struttura di cartelle gerarchica (NuGet 3.3+). Per maggiori dettagli, vedere Feed locali. - NuGet.Server: i pacchetti vengono resi disponibili tramite un server HTTP locale. Per maggiori dettagli, vedere NuGet.Server.
- Raccolta NuGet: i pacchetti sono ospitati in un server Internet tramite il progetto della raccolta NuGet (github.com). La raccolta NuGet fornisce la gestione degli utenti e funzionalità quali un'interfaccia utente Web completa che consente la ricerca e l'esplorazione dei pacchetti dall'interno del browser, analogamente a nuget.org.
Sono disponibili anche diversi altri prodotti di hosting NuGet, ad esempio Azure Artifacts e registro pacchetti GitHub, che supportano feed privati remoti. Di seguito è riportato un elenco di tali prodotti:
- Artifactory di JFrog
- Azure Artifacts, disponibile anche in Team Foundation Server 2017 e versioni successive.
- BaGet, un'implementazione open source di NuGet Server V3 basata su ASP.NET Core
- BaGetter, un fork open source e basato sulla community di BaGet
- Bytesafe Un pacchetto completamente gestito e una piattaforma di sicurezza della supply chain
- Cloudsmith, una soluzione SaaS completamente gestita per la gestione dei pacchetti
- Feedz.io una gestione dei pacchetti completamente gestita SaaS
- Gitea, un servizio Git open source e self-hostable supporta NuGet come registro dei pacchetti
- Registro dei pacchetti GitHub
- Registro pacchetti GitLab
- Spazio JetBrains
- LiGet, un'implementazione open source di NuGet Server V2 in esecuzione su Kestrel in Docker
- MyGet
- Sistema operativo del repository Nexus da Sonatype.
- NuGet Server (Open Source), un'implementazione open source simile a NuGet Server di Inedo
- NuGet Server, un progetto di community di Inedo
- ProGet di Inedo
- Sleet, un generatore di feed statico di NuGet V3 open source
- TeamCity di JetBrains
Indipendentemente dalla modalità di hosting, i pacchetti diventano accessibili una volta aggiunti all'elenco delle origini disponibili in NuGet.Config
. Questa operazione può essere eseguita in Visual Studio come descritto nella sezione Package Sources (Origini dei pacchetti) o dalla riga di comando tramite nuget sources
. Il percorso di un'origine può essere un nome di percorso di una cartella locale, un nome di rete o un URL.