¿Puedo publicar un paquete NuGet privado?

107

Tengo un montaje que he realizado y que es muy específico para mi equipo en mi empresa. Quiero poder usar NuGet para que este ensamblaje esté disponible para otros proyectos en los que mi equipo y equipos similares de mi empresa están trabajando. Sin embargo, el ensamblado no es realmente un código que quiero compartir con el mundo.

Sé que con Maven, puede crear repositorios locales y paquetes fuente desde un repositorio local. ¿NuGet admite una funcionalidad similar? ¿Hay alguna forma con NuGet de especificar un repositorio local o tener paquetes privados?

stevebot
fuente

Respuestas:

92

¡Si! ¡Puede alojar su propio servidor NuGet!

La forma más sencilla es crear una carpeta compartida en su servidor y hacer referencia a ella como su servidor Nuget.

Puede encontrar más información sobre cómo hacerlo en: Hosting Your Own NuGet Feeds

Glauco Vinicius
fuente
3
En el enlace anterior, desplácese hacia abajo hasta la sección 'Creación de fuentes remotas' si está buscando crear un servidor real, accesible a través de HTTP, para alojar sus ensamblados.
Kevin Kalitowski
6
Aunque esta es probablemente la forma más fácil, significa que tiene que compartir la carpeta con todos, y cualquiera que tenga acceso podría (accidentalmente o no) moderar su contenido. Una forma mejor (aunque sencilla) es crear su propio servidor utilizando NuGet.Servery alojar en IIS o Azure. Luego podrá enviar paquetes usando una clave API y cualquiera puede suscribirse al feed. Aquí hay una guía sencilla para crear su propio servidor NuGet .
Alex Sanséau
¡Trabajado como un encanto!
Andro
Yo tuve el mismo problema. y encontré lo siguiente: Scott: hanselman.com/blog/… también: nicolaiarocci.com/…
Michael Mittermair
21

Otra opción para alojar su propio servidor NuGet es utilizar JetBrains TeamCity como servidor de compilación. La configuración se describe aquí .

El servidor de Team City actúa como un repositorio de NuGet al que solo podría / debería ser accesible dentro de su empresa.

Según su uso, existen versiones gratuitas del software.

Tiene algunas opciones interesantes, como la capacidad de publicar una nueva versión de NuGet bajo demanda, con cada nueva compilación de integración continua, etc. Una de las partes más útiles (como con todas las implementaciones de servidor de NuGet) es que mantendrá docenas de versiones anteriores. de sus ensamblajes, por lo que si tiene un proyecto que necesita hacer referencia a la versión más reciente y otro proyecto que necesita hacer referencia a una versión anterior, todo funcionará.

Kevin Kalitowski
fuente
2
Aunque tenga razón, TeamCity tiene muy poco que ver con NuGet por decir, y hay otras opciones para un servidor NuGet (que es lo que está pidiendo). TeamCity es más bien un servidor de integración continua que pasa a tener un servidor incorporado NuGet.
Jim Aho
14

Consulte la edición gratuita de ProGet ; lo construimos exactamente para este propósito. Se necesita mucho menos tiempo para configurarlo y ofrece muchas funciones más allá de las que ofrece el servidor NuGet estándar, como múltiples fuentes, agregación de fuentes y tipos de repositorios adicionales (npm, Bower, etc.)

Si desea pagar por la versión empresarial, también tiene la capacidad de usar LDAP para la autenticación y la capacidad de filtrar feeds por nombre / licencia de feeds conectados (es decir, el feed oficial de NuGet).

Tod Hoven
fuente
2

Sí, puede tener feeds locales. Es muy simple de configurar, eche un vistazo aquí .

MyGet es popular por alojar feeds privados. No es gratis, pero echa un vistazo a sus precios y ¡quizás te quede bien!

Jim Aho
fuente