Créer sa tâche de build personnalisée pour TFS Build vNext

Avec Build vNext, présent depuis TFS2015 et sur VSTS, Microsoft a fourni pas mal de tâches pré configurées, mais si vous possédez des workflows de builds complexes, faites appel à des outils externes, il se peut que vous souhaitiez créer vos propres tâches.
C’est ce qu’on va aborder ici ! On va créer une tâche personnalisée qui affiche simplement un texte dans le log de la build.
Installation de tfx-cli
On va commencer par installer un nouvel outil qui permet de gérer ses tâches (mais pas que), appelé TFS Extensions Command Line Utility (ou tfx-cli pour les intimes), il est cross plateforme, permet de gérer TFS et VSTS.
Cet utilitaire change souvent, pensez à le mettre à jour régulièrement !
Il faut au préalable avoir installé Node.js sur votre poste : Node.js
Pour lancer l’installation, taper la commande :
npm install tfx-cli –g
Pour connaitre la version et l’ensemble des commandes disponibles :
tfx
Création de la tâche
Se positionner dans un répertoire et taper la commande :
tfx build tasks create
Plusieurs informations vous sont demandées :
- Nom de la tache,
- Description,
- Auteur.
Il en résulte la création de 4 fichiers :
- icon.png : icone par défaut, à remplacer par un fichier png 32×32,
- sample.js : contient le code Javascript de la build, c’est ce code qui sera exécuté quand la build se déroule sur Linux (ou OS X),
- sample.ps1 : contient le script Powershell de la build, c’est ce code qui sera exécuté quand la build se déroule sur Windows,
- task.json : contient les metadata qui décrivent la tâche.
On va s’intéresser ici qu’à la partie Windows avec le fichier PowerShell.
On commence par modifier le logo.
Dans le fichier json, on a la possibilité d’ajouter des sections :
L’accès aux paramètres à partir du fichier PowerShell se fait très simplement :
Envoi de la tâche sur TFS / VSTS
On va maintenant envoyer cette tache fraichement créée sur TFS et VSTS.
TFS
Taper la commande suivante afin de vous identifier :
tfx login –authType basic
Les informations suivantes vous seront demandées :
- La collection TFS,
- l’utilisateur,
- le mot de passe.
VSTS
On va commencer par se créer un token pour la connexion.
Aller sur votre profil VSTS :
- Onglet Détails,
- Dans “Personal Access Token”,
- Faire “Add”
Attention, le token ne sera visible qu’une seule fois ! Pensez à le noter.
Taper la commande suivante afin de vous identifier :
tfx login
Les informations suivantes vous seront demandées :
- L’adresse de votre collection VSTS,
- Le token.
Upload de la tâche
On peut maintenant uploader notre tache :
tfx build tasks upload
Le nom du répertoire ou se trouve les fichiers vous sera demandé :
Création de la définition de Build
On a maintenant accès à notre tâche dans la liste :
On l’ajoute donc à notre définition, on a accès aux différentes options que l’on a configurées dans le fichier .json :
On écrit un message et on lance la build :
Supprimer la tâche
Si vous souhaitez supprimer la tâche, un simple tfx build tasks delete est nécessaire, il suffit alors de renseigner l’ID, présent dans le .json (ou en faisant en tfx build tasks list).
Conclusion
On a vu ici comment rajouter simplement des tâches personnalisées afin de les utiliser dans nos définitions de build.
A vous de jouer maintenant pour enrichir le script PowerShell !