Dans la 1ère partie de cette serie d’articles sur le gestionnaire de packages de VSTS nous avons vu comment créer un feed et publier un package Nuget dans un processus DevOps.

Dans cette 2e partie, nous allons détailler la notion de statut de qualité qui a souvent été évoqué dans le pipeline de publication du package.Nous verrons aussi comment restaurer un package avec Visual Studio et durant une build d’intégration continue.

Le statut de Qualité ou Release views

Lorsque l’on récupère un package d’un gestionnaire de packages public comme nuget.org, tous les packages exposés sont publics. Souvent à la fin du numéro de version, on remarque un ajout du type M.M.P-prerelease1.0 qui permet de donner une information sur le niveau de fiabilité du package.

Dans le gestionnaire de packages de VSTS, qui est plus destiné à un usage interne, Microsoft a rajouté une notion de statut de qualité qui permet pour une version de package donnée de rajouter une metadata qui va indiquer quel est le statut de qualité de la version de ce package, par exemple en indiquant que cette version est en état de “Prerelease” et que son statut ne sera en “Release” que lorsque cette version sera testée et validée.

En entreprise, ce statut de qualité est très important car potentiellement ce package peut-être référencé par plusieurs applications et celles-ci ne doivent pas être impactées si elles utilisent un package non testé et non validé.

Ce statut de qualité est, on pourrait dire, un indice de confiance pour cette version de package.

Dans l’article précédent nous avons déjà parlé de ce statut de qualité. Voyons maintenant comment nous pouvons gérer cette liste statut.

Dans VSTS/TFS, cette liste de statut s’appelle les “Release views” et elle se gère dans les propriétés du Feed

edit release view

Nous pouvons voir la liste des statuts par défaut; qui sont “Prerelease et Release” [1], nous pouvons en ajouter en cliquant sur ” + Release view” [2] et rajouter le statut “Beta” [3] par exemple, que nous pourrons utiliser de la même manière de ceux par défaut.

Filtrer les packages par Release view

Il est aussi possible de filtrer la liste des packages d’un feed pour un statut de qualité particulier.

filter release view

Promouvoir un package manuellement

La promotion d’un package consiste à ajouter un statut de qualité à une version d’un package.

Nous avons déjà vu comment ajouter automatiquement un statut de qualité à un package lors d’une release, mais il est aussi possible de le faire manuellement dans VSTS/TFS en choisissant sa version à promouvoir.

Cliquez sur le bouton “Promote” et choisir la view (ou statut de qualité) à ajouter à cette version du package.

promote

Restaurer vos packages

Jusqu’à maintenant; nous avons vu comment créer et publier un package Nuget dans le gestionnaire de packages de VSTS par un pipeline d’intégration continue. Il reste cependant une étape majeure qui est la restauration de vos package soit avec Visual Studio pour les développeurs sur leur poste local, ou soit au travers des définition des builds d’intégration continue qui vont packager les applications qui référencent ces packages.

Dans Visual Studio

Dans les options de Visual Studio, il est possible de configurer plusieurs sources de feed de packages Nuget.

vs restaure nuget

Ajouter une nouvelle source [2] puis renseigner son nom et son Url [3] et valider en cliquant sur Update.

Pour connaitre l’Url du Feed dans VSTS, cliquez sur “connect to feed”[1] , sélectionnez la “release view” [2] dont vous voulez lister les packages dans Visual Studio, et copiez son Url [3].

feed release view

Il y a donc une Url différente par release view de votre Feed, et elle se différencie par @nomdelareleaseview dans celle-ci.

Ainsi, si un développeur souhaite voir uniquement les versions de packages qui sont en “Prerelease”, il devra faire cette configuration dans Visual Studio et n’aura pas de risque de référencer des versions de package qui sont en “beta”.

La sécurité de VSTS est aussi évidement appliquée, lorsque le développeur voudra référencer un package des feed VSTS, il lui faudra s’authentifier avec son compte VSTS.

vsts authent

Dans une build d’intégration continue

Si votre application qui référence votre package est compilée dans une build d’intégration dans VSTS, il faudra aussi restaurer ce package durant cette build.

Pour configurer les urls des feeds à utiliser pour restaurer les packages Nuget pendant les builds, il vous faudra rajouter dans votre solution un fichier nuget.config qui contiendra la liste des feeds à utiliser.

Voici un exemple de fichier nuget.config qui contient l’url de mon feed Prerelease de VSTS

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!-- remove any machine-wide sources with <clear/> -->
<clear />
<!-- add a Team Services feed -->
<add key="PrivateNugetPrerelease" value="https://mk.pkgs.visualstudio.com/_packaging/NugetFeed@Prerelease/nuget/v3/index.json" />
<!-- also get packages from the NuGet Gallery -->
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
</configuration>

Pour plus d’informations sur ce fichier, lire sa documentation officielle.

Puis, dans la définition de build ajoutez la tâche “Nuget Restore” et complétez dans ses paramètres le chemin du nuget.config.

vsts build restaure

Grâce à ce gestionnaire de package dans VSTS et TFS, le pipeline CI / CD des packages Nuget est désormais intégré et unifié avec les pipelines des autres applications.

Pour poursuivre cette série sur la gestion de packages de VSTS, nous verrons dans un prochain article comment gérer des packages Npm dans ce gestionnaire de package.