Hébergement de vos propres flux NuGet
Plutôt que de mettre les packages à la disposition de tous, vous pouvez les réserver à un public limité, tel que votre organisation ou groupe de travail. De plus, certaines sociétés peuvent souhaiter restreindre les bibliothèques tierces que sont susceptibles d’utiliser leurs développeurs en leur demandant de puiser dans une source de packages limitée plutôt que dans nuget.org.
À ces fins, NuGet prend en charge la configuration de sources de packages privées des façons suivantes :
- Flux local : les packages sont simplement placés sur un partage de fichiers réseau approprié, dans l’idéal, en utilisant
nuget init
etnuget add
pour créer une structure de dossiers hiérarchique (NuGet 3.3+). Pour plus d’informations, consultez Flux locaux. - NuGet.Server : les packages sont accessibles via un serveur HTTP local. Pour plus d’informations, consultez NuGet.Server.
- Galerie NuGet : les packages sont hébergés sur un serveur Internet à l’aide du projet de Galerie NuGet (github.com). Avec la Galerie NuGet, gérez les utilisateurs et profitez de fonctionnalités telles qu’une interface utilisateur web complète qui permet de rechercher et d’explorer les packages à partir du navigateur, comme nuget.org.
Il existe également plusieurs autres produits d’hébergement NuGet tels qu’Azure Artifacts et le registre de packages GitHub qui prennent en charge les flux privés distants. Voici une liste de ces produits :
- Artifactory de JFrog
- Azure Artifacts, qui est également disponible sur Team Foundation Server 2017 et ultérieur.
- BaGet, implémentation open source du serveur NuGet V3 reposant sur ASP.NET Core
- BaGetter, une duplication (fork) open source et pilotée par la communauté de BaGet
- Bytesafe Un package complètement managé et une plateforme de sécurité de la chaîne d’approvisionnement
- Cloudsmith, une gestion de package complètement managé SaaS
- Feedz.io une gestion de package complètement managé SaaS
- Gitea, un service Git libre-hôte open source prend en charge NuGet en tant que registre de packages
- Registre de package GitHub
- Registre de package GitLab
- JetBrains Space
- LiGet, une implémentation open source du serveur NuGet V2 qui s’exécute sur Kestrel dans Docker
- MyGet
- Nexus Repository OSS de Sonatype.
- NuGet Server (Open Source) : implémentation open source similaire à NuGet Server d’Inedo
- NuGet Server : projet communautaire d’Inedo
- ProGet d’Inedo
- Sleet, un générateur de flux statique NuGet V3 open source
- TeamCity de JetBrains
Quelle que soit la façon dont les packages sont hébergés, vous y accédez en les ajoutant à la liste des sources disponibles dans NuGet.Config
. Vous pouvez effectuer cette opération dans Visual Studio, comme décrit dans Sources de packages, ou à partir de la ligne de commande à l’aide de nuget sources
. Le chemin d’une source peut être le chemin d’un dossier local, le nom d’un réseau ou une URL.