Creando un servidor NuGet propio para distribuir nuestras librerías

Algo que nos puede pasar de forma habitual cuando llevamos un tiempo desarrollando aplicaciones es que tenemos nuestras propias librerías para solucionar problemáticas comunes que se repiten de forma periódica. Básicamente lo que tendremos como resultados son DLLs que estaremos exportando de las librerías y referenciándolas desde los proyectos que las necesiten.

Por supuesto que esto es muchísimo mejor que tener la lógica común duplicada en todas las aplicaciones, pero también tiene sus desventajas, las cuales estarán en mayor o menor medida dependiendo de las características de las librerías y la cantidad de aplicaciones que la usen.

La principal es la distribución manual que debemos hacer de ese archivo para todas las aplicaciones clientes que deban usarlo. Normalmente lo que hacemos es copiarla desde otro proyecto que ya la esté usando. Además hay más problemas, ya que al hacer esto vamos a estar subiendo al repositorio de control de código fuente este archivo binario lo cual no deberíamos hacer. Más problemas tendremos cuando nuestra librería evolucione y tenga distintas versiones: ¿cómo sabemos cuál es la que tiene cada aplicación, la que necesitamos nosotros, si hay una nueva versión disponible, las dependencias que tiene cada una de esas versiones?

Está claro que la solución de todo esto es conocida desde hace tiempo, que es tener un paquete Nuget que encapsule todo esto. Pero necesitamos un servidor que nos provea los paquetes y en determinados casos (sobre todo en entornos empresariales) no podemos subir las librerías que se desarrollen en el repositorio público nuget.org

¿Entonces que hacemos? Sencillo, creemos nuestro servidor Nuget propio.

Básicamente es un sitio ASP.NET corriendo en algún entorno al que podamos acceder (puede estar expuesto a internet, en una intranet o hasta en nuestro equipo) con algunas particularidades. Veamos cómo crearlo:

Leer más »

Anuncios