Cómo montar un repo de paquetes NuGet privado con feedz.io
Introducción
Puede ser que nos veamos con la necesidad de crear un repositorio de paquetes NuGet propio, pero que no tengamos la infraestructura o el tiempo necesario para hacerlo.
En ese caso, podemos utilizar nuget.org.
Sin embargo, es posible también, que no queramos compartir públicamente esos paquetes NuGet, y que sólo tengan acceso a ellos aquellos colaboradores, empresas o clientes que queramos.
Es decir, disponer de un repo privado.
¿Cómo podríamos hacer esto?.
En el mercado existe una opción llamada feedz.io, y sobre ella voy a hablar en esta entrada.
¿Qué es feedz.io?
Es una plataforma que nos posibilidad la creación de repos públicos y privados de nuestros paquete NuGet y npm.
¿Cuánto cuesta?
Hay varias modalidades de pago.
El detalle y tabla de características y pago, la encontrarás en este enlace.
Las característica de cada modalidad, la encontrarás en este otro enlace.
Ahora bien, ¿cómo podemos crear nuestro repo con feedz.io?.
Eso es lo que veremos a continuación.
Crear una cuenta en feedz.io
Lo primero de todo, será crear una cuenta en feedz.io.
Para ello, podemos registrarnos utilizando nuestra cuenta de GitHub, Google o bien, crear la cuenta con nuestro correo electrónico como usuario y contraseña.
Si creamos nuestra cuenta con nuestra cuenta de correo electrónico y contraseña, deberemos hacerlo seleccionando la opción Sign Up.
Configurando nuestra cuenta
Para concluir, deberemos indicar detalles sobre nuestra cuenta, como nombre, apellidos, así como aceptar los acuerdos de servicio.
Pulsaremos el botón Signup para registrarnos.
Acceso al dashboard
El cuadro de mando de feedz.io aparecerá aún vacío.
Para que esto no suceda, deberemos completar la creación de nuestra cuenta.
Eso nos permitirá crear repos, subir paquetes, generar permisos de acceso, etc.
Así que el siguiente paso que necesitaremos abordar, será el de crear una organización.
La opción de creación de una nueva organización la encontraremos en un principio en la página principal de nuestra cuenta recién creada.
Al hacer clic sobre new organisation, aparecerá una ventana dentro de la cual deberemos indicar los detalles de nuestra organización.
Evidentemente, la organización no debe existir.
Una vez creada la organización, podremos crear nuestro repositorio de paquetes NuGet.
Creación del repo de paquetes NuGet
Una vez creada la organización, sí podremos acceder al cuadro de mando como tal de nuestra organización, dentro del cuál podremos crear nuestros repositorios.
Para ello, haz clic en el botón new repository.
Aquí indicaremos un nombre para nuestro repo e indicaremos que sea un repo público o privado.
En mi caso he elegido la opción de crear un repo privado.
Una vez hecho esto, tendremos nuestro repo creado y estaremos preparados para subir nuestros paquetes NuGet.
Pero antes de subir ningún paquete, vamos a crear un access token (API Key) que permita acceder a nuestro repo privado.
Crear un Access Token (API Key)
Para crear un access token (API Key), vamos a hacer clic sobre el hipervínculo access token que vemos en la imagen anterior.
Aparecerá una ventana similar a la siguiente:
Pulsaremos sobre el botón Create Token for a Service Account.
Aparecerá una ventana dentro de la cuál, deremos indicar la Service Account que vamos a usar, junto a un nombre que daremos, una expiración, y un acceso.
Un access token será generado.
Deberemos copiar y pegar en un sitio seguro esta clave de acceso, ya que no podremos recuperarla y nos servirá para acceder al repo de NuGet.
Una vez llegados a este punto, podremos subir a nuestro repo los paquetes NuGet que queramos utilizar.
Subir paquetes NuGet a feedz.io
Hay diferentes formas de subir nuestros paquetes NuGet a feedz.io.
Se puede automatizar el proceso utilizando diferentes herramientas que podemos encontrar aquí.
También podemos acceder al código fuente de estas herramientas aquí.
Otra alternativa es subirlo manualmente, algo que explicaré aquí.
Dentro del cuadro de mando, haremos clic en upload package.
Aparecerá una ventana emergente dentro de la cual, seleccionaremos nuestro paquete NuGet y pulsaremos sobre el botón upload para subirlo a nuestro repo recién creado.
Lamentablemente, sólo podemos subir manualmente nuestros paquetes de uno en uno.
Una vez subido nuestro paquete NuGet, aparecerá una notificación en la parte superior derecha de feedz.io.
Una vez subido nuestro paquete, podremos visualizar todos los paquetes que tenemos en nuestro repo.
Consultar todos los paquetes NuGet que contiene nuestro repo
Para consultar, acceder y gestionar todos nuestros paquetes NuGet en nuestro repo, deberemos hacer clic sobre la opción Search Packages.
Podemos hacer clic sobre un paquete NuGet concreto y gestionar su visibilidad, eliminarlo, etc.
Acceder a nuestro repo desde Visual Studio 2019
Al acceder a nuestro repo desde el cuadro de mando o dashboard, podremos ver la URL de nuestro feed que da acceso a los paquetes NuGet que hemos subido.
En Visual Studio 2019, deberemos abrir el gestor de paquetes NuGet para crear una nueva fuente o feed de paquetes NuGet.
Algo parecido a lo que indico a continuación:
Al acceder desde Visual Studio 2019 a nuestro repo, se nos solicitará el usuario y contraseña de acceso que hemos creado anteriormente.
Nota: si Visual Studio 2019 te da problemas al intentar acceder al repo, cierra Visual Studio y vuelve a abrirlo.
Si todo va bien, tendremos acceso a todos los paquetes NuGet de nuestro repo, permitiéndonos instalar los paquetes, actualizar, etc.
Nota: existen acciones avanzadas más allá de lo que he explicado aquí, pero esta explicación te permitirá crear y gestionar un repo y paquetes NuGet privados de forma rápida y sencilla.
Happy Coding!