On va apprendre dans cet article comment utiliser la nouvelle fonctionnalité de build présente sur TFS 2015 et VSTS, appelée Build vNext.
On sera capable de faire du build/deploy/test sur machines Windows.

Présentation

Appelée Build vNext, cette nouvelle fonctionnalité se configure par le portail web de TFS, est basée sur des scripts et est très customisable.

Cette nouvelle méthode de build devrait permettre de réduire pas mal de problème et limitations (notamment les builds fonctionnant sur les machines de développement mais pas sur les machine de build…).
Si vous utilisez des gated build, si vous avez des workspaces complexes ou si vos build XAML sont déjà fortement modifiés, il est préférable de continuer sur l’ancienne technologie…

Build vNext vs. XAML Build

  1. XAML Build
  • Correspond aux builds « classiques » stockés dans le repository du projet,
  • La modification se fait via Visual Studio,
  • Machine de build reliée à TFS nécessaire.
  1. Build vNext
  • Création et config à partir du portail web,
  • Pas de contrôleur de build,
  • La machine qui compile doit avoir vs2013 ou supérieure (pour windows),
  • Cross plateforme.

Agent (pools et queues)

Les pools sont configurés au niveau du serveur, ils peuvent être référencés par plusieurs collections et projets.
Ils peuvent également contenir plusieurs agents (windows et cross plateforme).

00

Création de pool

  • Se rendre sur la page d’administration de votre TFS,
  • Dans l’onglet « Agents Pools »,

01

  • Cliquez sur « New Pool »,
  • Choisissez le nom de votre pool, OK.

02

Création de queue

Une fois votre pool créée, il faut maintenant créer la queue et l’agent.

  • Rendez-vous sur la page d’administration de la collection,
  • Dans l’onglet « Build »,

03

  • Cliquez sur « New queue »,
  • Choisissez la pool sur laquelle raccrocher la queue.

04

05

 

Installation et configuration de l’agent

Votre queue installée :

  • Téléchargez l’agent sur votre machine Windows,

05 - Copie

  • Créez un répertoire « agent » et dézippez dedans,

06

  • Via PowerShell, lancez le script ConfigureAgent.ps1, plusieurs infos vous seront demandées :

o   Nom de l’agent désiré,
o   Adresse du serveur TFS,
o   Nom de la pool sur laquelle raccrocher l’agent,
o   Installer l’agent en tant que service Windows (Oui/Non).

07

  • L’agent doit apparaitre dans la liste.

09

Votre agent est installé, configuré et prêt à l’emploi ! Vous avez la possibilité de rajouter des capacités sur l’agent, ce qui permettra d’exécuter une build sur les agents disposant de cette capacité.

Attardons nous maintenant sur la création d’une build et son exécution sur cet agent.

Création et exécution d’une build simple

Création

On va maintenant créer une build et l’exécuter sur l’agent

  • A partir de l’onglet « Build » d’un projet,
  • Cliquez sur +,
  • Choisissez « Empty »,

141

  • Cliquez sur « Add Step »,

10

  • Allez dans « Build » et choisissez « Visual Studio Build »,

11

  • Les différents onglets de configuration sont :

o   Build : Les étapes de votre définition de build,

o   Options :

  • activer la Multiconfiguration,
  • Créer un bug lorsque la build est en erreur (seulement sur VSTS).

o   Repository : Choix du repository à compiler (tfvc, git, nom du projet, …),

o   Variables : permet de définir des variables qui seront utiliser dans les tasks et les scripts de compilation

12

o   Triggers : Permet de configurer la build en tant que IC et/ou définir une heure de déclenchement

o   Général :

  • Choix de la queue sur laquelle compiler,
  • Ajouter une description,
  • Format de la build,
  • Permet également de vérifier que les agents ont certaines capacités.

13

o   Retention : Définir la durée en jours pendant laquelle les logs de build seront gardés.

Exécution

Pour exécuter une build faire un clic droit sur le nom ou cliquer sur « Queue build… ».
Choisir la queue et faire OK.

15

La build se lance, et on peut suivre son avancement directement sur le portail web :

16

A la fin de la build, on obtient le résultat :

17

Déploiement et tests automatisés

On va maintenant compliquer un peu la chose en rajoutant :

  • l’exécution de tests unitaires pendant la build,
  • le déploiement sur une machine,
  • l’exécution de tests sur cette dernière.

Création d’un groupe de machines

On va commencer par la création d’un groupe de machine pour le déploiement :

  • Sur l’onglet « Test » de votre projet, aller dans le sous onglet « Machines »,

241

  • Créer un nouveau groupe de machines :

o   Nom du groupe,
o   Compte administrateur de l’ensemble des machines présentes dans ce groupe,
o   Liste des machines présentes dans le groupe.

Création de la build

On va repartir de la build précédente et ajouter des étapes :

  • Ajoutez l’exécution des tests unitaires,

18

  • Ajoutez le déploiement de l’agent sur le groupe de machines,

25

  • Ajoutez l’exécution des tests sur le groupe de machines (avoir au préalable fait le déploiement de la solution compilée),

26

Résultat

Après exécution de la build, on obtient les résultats des différents tests (dans mon exemple, un test réussi et un test en erreur) :

27

On peut affiner pour obtenir plus d’infos sur les résultats des tests unitaires et des tests sur les machines (ici ils sont identiques) :

28

29

Conclusion

On l’a entre aperçu ici, ce nouvel outil à de nombreux avantages :

  • Build vNext est un orchestrateur,
  • Création et édition des définitions de build via le portail web,
  • Amélioration des rapports de build,
  • Amélioration des logs,
  • Customisation simple et complète,
  • Cross-plateforme,
  • Auto update des agents.

D’autres articles autour de build vNext seront prochainement disponibles, soyez à l’écoute !