Utilisation librairie dbatools dans un pipeline Azure DevOps Server
Description du problème
L’utilisation des fonctions de la librairie dbatools (Restore-DbaDatabase par exemple) dans une tâche PowerShell dans un pipeline de build Azure DevOps Server retourne une erreur “The term ‘xxx’ is not recognized as the name of a cmdlet, function, script file, or operable program”.
La librairie est pourtant installé sur l’ordinateur de l’agent.
La commande que je veux exécuter dans une tâche PowerShell d’un build:
Le log retourné (la tâche a finie en erreur)
Résolution
Il semble que l’exécution d’un tâche PowerShell au niveau d’un agent n’a pas accès à l’ensemble des librairies de l’hôte, car il devrait s’exécuter avec des privilèges avancés.
J’ai modifié la commande du build comme suit pour exécuter la commande sans problème:
Vue SQL WorkItemsLatestUsed inexistante avec TFS 2017
Avec TFS 2013.5, j’utilisais la vue SQL WorkItemsLatestUsed pour calculer certains indicateurs.
J’ai migré en TFS 2017, et cette vue n’existe plus. J’ai cependant trouvé mon bonheur en utilisant d’autres vues:
vw_denorm_WorkItemCoreLatest: contient les données actuelles des work items, mais des champs sont manquants de l’ancienne vue sont manquants
vw_denorm_WorkItemCustomLatest: contient les données actuelles des autres champs (que j’appellerais non standards) des work items, sur le modèle 1 ligne correspond à 1 champ
tbl_field: cette table permet de savoir l’id d’un champ non standard
Pour retrouver un équivalent de l’ancienne vue WorkItemsLatestUsed et avoir une table contenant l’ensemble de mes work items, j’utilise donc dorénavant la requête suivante: