Una sinfonía en C#

Un pequeño aporte a la comunidad de habla hispana.

Azure DevOps: ¿Cómo consumir un feed nuget de Azure DevOps en nuestra app local?

Dentro de la característica de artefactos de Azure DevOps podemos crear nuestros propios feeds de paquetes nuget para organizar nuestros componentes y reutilizarlos.

Acceder al feed

La pregunta es cómo hacer para desde nuestro entorno local Visual Studio o Visual Studio Code o mejor dicho el compilador de .NET pueda acceder al feed.

Para esto necesita como mínimo conocer la URL del feed, esto se obtiene fácilmente desde Azure DevOps, vamos al feed y presionando el botón “Connect to feed” vemos la URL.

 

image

Obtener credenciales de acceso al feed.

Con la URL mucho no vamos a poder hacer si no tenemos permisos de acceso, dentro de Azure DevOps esto se logra creando tokens de acceso a nivel usuario. Es por esto vamos directamente a la configuración de seguridad del usuario.

image

Y vamos a la parte de security tokens.

image

En la sección “Personal access token” seleccionamos “New Token”, definimos nombre y la duración y lo más importante, el scope.

El scope nos permite definir para qué puede ser usado el token y solo para eso, en este caso le daremos un único scope, que será Packaging.Read.

Por defecto este scope no se ve por defecto hasta que hagamos click sobre el link debajo que dice “Show all”.

Ventaja de los tokens:

  • Usar tokens en lugar de usar el password tiene varias ventajas, vamos a enumerarlas
  • Podemos usarlo en un entorno sin poner en riesgo el password.
  • Tienen un acceso limitado a los recursos, por ejemplo los feeds.
  • Tienen un vencimiento definido, con lo cual si lo perdemos lo borramos y listo.

Paso final, crear el Nuget.config

Con estos datos lo último que tenemos que hacer es ponerlos en un archivo que colocaremos a nivel de nuestra solución, el formato del archivo es el siguiente (es un xml):

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="Azure" value="https://pkgs.dev.azure.com/leomicheloni/_packaging/MyNuget/nuget/v3/index.json" />    
  </packageSources>
  <packageSourceCredentials>
    <Azure>
      <add key="Username" value="mail@mail.com" />
      <add key="ClearTextPassword" value="prrryxncm6drvvruhmrph3rm5jiwrpp73viemx4n3kdo6dxwzlita" />
    </Azure>
  </packageSourceCredentials>  
</configuration>

Pueden descargar un ejemplo de un Nuget.config desde acá.

Y con esto tenemos acceso a nuestro feed, nos leemos.

Leonardo.

#NetConf en la Universidad Politécnica de Madrid

El evento

Como parte de evento que se realiza en todo el mundo durante estos meses, he tenido la suerte de organizar y participar como ponente en la NetConf en Madrid.

Gracias a la generosidad de la gente de la Universidad Politécnica de Madrid el evento ha tenido una locación inmejorable.

Ha sido una versión de tres charla en la que he tenido la suerte de compartir cartel con dos grandes del mundo de .NET de España como Javier Valero y Robert Bermejo.

Sobre Azure DevOps

Cuando preparé la charla no existía Azure DevOps por lo tanto mi charla fuer sobre Visual Studio Team Services, en concreto sobre cómo montar un entorno de despliegue continuo de una aplicación ASP Net Core en Docker sobre Azure.

Dejo un link a las diapositivas que utilicé durante la charla.

Gracias a los ponentes, a la UPM y a Tokiota por el apoyo.

Nos leemos.