Turbulences Admin
Turbulences Admin
Agile
6 août 2020

Transformation XML, pas juste pour les fichiers de config

En ces jours où on essaie d’automatiser le plus possible les déploiements, j’imagine que vous utilisez les transformations XML pour vos Web.config et App.config? Cette fonctionnalité permet de modifier/ajouter/supprimer des valeurs contenues dans les fichiers de config au moment du déploiement. Par contre, il arrive que des fichiers XML ayant d’autres fonctionnalités que de la configuration standard .Net nécessitent une telle transformation. Par exemple, je suis en train de développer une application pour la saisie du temps novIQ. Je vous ai déjà parlé qu’on utilise Office 365 pour nos infrastructures internes donc l’application de saisie de temps doit bien sûr s’intégrer avec l’AD de Office 365. Pour faire ça, on utilise WIF et pour se lier à l’AD, il y a un fichier FederationMetadata.xml qui contient des informations au sujet du domaine sur lequel on doit s’identifier donc qui doivent varier entre l’environnement de développement et l’environnement de prod; ben oui meme pour un petit projet interne, on ne teste pas en prod, comme ça les technos viendront pas dire qu’on est des cowboys :-).

Vous trouverez ici les instructions pour mettre en place la transformation XML pour d’autres types de fichier. La seule chose que j’ai changé pour mes besoins, c’est qu’au lieu de copier le fichier TransformFiles.target dans %ProgramFiles (x86)%\MSBuild\Custom, je l’ai placé dans ma structure de répertoire de développement et à l’étape 1, j’ai mis un path relatif. Comme ça, peu importe où je suis (mon TFS est dans le cloud, donc je peux développer de n’importe où), j’ai juste à faire un get et je peux compiler et déployer. Je pourrais même créer un build dans TFS mais je n’ai pas encore ce besoin.