Guillaume Rouchon's Blog
.Net and VisualStudio ALM
.Net and VisualStudio ALM
4/03/13
J’utilise de plus en plus la machine virtuelle de Brian Keller pour mes démos et présentations. Cette machine est disponible en téléchargement depuis le blog de Brian Keller :
L’avantage de cette VM est qu’elle contient l’ensemble des outils installés et configurés et des projets sont déjà présents avec des données. Par contre afin de garantir son utilisation dans le temps des scripts sont joués aux démarrages et peuvent causer quelques problèmes dans le cas ou, comme moi, vous souhaitez l’utiliser pour vos propres démos.
Voici donc 2 tips pour ne pas avoir un “effet démo”
Carpe Diem.
18/02/13
Lors de ma session aux TechDays 2013 un lecteur de ce blog m’a posé la question de comment faire pour générer un package WebDeploy depuis Team Build. Voici donc un billet sur ce sujet
Avant de commencer sur la génération de package WebDeploy avec Team Build commençons par un bref rappel de ce qu’est WebDeploy :
WebDeploy est un outil permettant de simplifier le déploiement d’application web ou de site web sur des serveurs IIS. Avec WebDeploy un administrateur peut exporter ou importer un site sous forme de package paramétrable ou peut synchroniser des serveurs entre eux.
Dans ce billet je vais vous montrer comment vous pouvez générer un package WebDeploy (.zip) en se basant sur vos sources et le résultat de la compilation de votre application web.
La première chose que vous pouvez faire est de paramétrer votre projet Web via ses propriétés :
Notez que l’ensemble de ces paramètres pourra être surchargé lors de la build si vous souhaitez centraliser certains paramètres. En effet tous ces paramètres ne sont que des propriétés MsBuild
Avant toute chose il faut créer une définition de build en se basant sur le template par défaut et configuré pour compiler votre solution contenant l’application Web :
Si vous lancez une build sans autre paramétrage vous devriez obtenir en sortie de build un répertoire _PublishedWebSite contenant votre application Web :
Afin de créer le package WebDeploy nous allons devoir passer des valeurs spécifiques pour des propriétés MsBuild utilisées par la targets de déploiement Web Microsoft.Web.Publishing.targets. Voici les propriétés que nous allons surcharger :
Le premier paramètre permet d’indiquer si l’on souhaite lancer le pipeline de déploiement des applications Web référencées par la solution que l’on compile. Par défaut ce paramètre vaut false, il va donc falloir lui passer la valeur true.
Le paramètre DeployTarget permet de spécifier l’action que l’on souhaite réaliser lors du déploiement. Lors d’un déploiement il est possible de réaliser plusieurs type actions (création d’un package ou déploiement), ce qui nous intéresse comme action est la création d’un package WebDeploy. Pour cela il faut utiliser la valeur Package qui se trouve être la valeur par défaut. Donc pas besoin de spécifier une valeur particulière
Enfin le dernier paramètre permet de spécifier, dans le cas de l’exécution depuis TeamBuild le nom du fichier généré. Ce nom est normalement spécifié dans les propriétés du projet mais dans le cas de TeamBuild le nom personnalisé n’est pas utilisé et est remplacé par le nom du projet :
Nous allons pouvoir utiliser la propriété DefaultPackageFileName afin de surcharger cette valeur :
Maintenant que nous connaissons les propriétés MsBuild à surcharger nous pouvons mettre à jour notre définition de build pour inclure ces éléments. Tous cela se passe via le paramètre “MsBuild Arguments” dans la section avancée en utilisant la syntaxe MsBuild en ligne de commande “/p:DeployOnBuild=true;DefaultPackageFileName=WygwamTechDays.zip” :
Et voila votre build va maintenant générer en plus un package WebDeploy avec le nom que vous lui avez spécifié. Ce package se trouvera dans un sous répertoire de _PublishedWebSites :
Si vous trouvez l’utilisation des paramètres MsBuild un peu fastidieux, rien ne vous empêche de personnaliser votre template de build afin d’y ajouter des paramètres tel que “Create WebDeploy Package” et “WebDeploy Package Name” et d’utiliser ces valeurs pour passer ou nom des paramètres à l’activité MsBuild. Dans ce cas notez que l’activité MsBuild possède déjà un paramètre DeployOnBuild pour simplifier encore
Depuis Visual Studio 2012 il est maintenant possible de créer des profiles de publication (fichier .pubxml). Ces fichiers contiennent le paramètrage WebDeploy à utiliser. Vous pouvez facilement créer ou utiliser ces profiles depuis Visual Studio en faisant un clic droit sur un projet et en sélectionnant Publish :
Vous pourrez alors créer ou utliser un profile de publication :
Une fois vos différents profile créés et mis dans le contrôleur de sources, pour les utiliser via MsBuild il faut utiliser le paramètre PublishProfile. Ce paramètre permet de spécifier le nom du fichier profile à utiliser (sans le .pubxml) : /p:PublishProfile=Dev
Comme pour les autres paramètres on va spécifier cette valeur via l’argument “MsBuild Arguments” :
Et voila vous avez maintenant les informations nécessaires pour générer des packages WebDeploy depuis Team Foundation Build
Carpe Diem.
18/02/13

Nous venons de publier une nouvelle version stable des Community TFS Build Extensions. Je vous laisse aller voir la liste des modification sur la page de téléchargement ici.
Vos retours et suggestions sont les bienvenus ; vous pouvez utiliser le forum sur le site pour cela
Carpe Diem.
10/01/13
Les TechDays 2013 auront lieu du 12 au 14 février au Palais des Congrès de Paris. J’y animerai une session sur “La mise en place d’une usine logicielle avec Team Foundation Server 2012 pour des développements Microsoft et non Microsoft”, Venez nombreux !
Vous pourrez aussi me retrouver sur le stand de Wygwam si vous avez des questions ou besoins autour de l’ALM et des outils de développements MS.
Voici aussi les sessions de mes petits camarades de Wygwam :
Carpe Diem.
3/12/12
Ce billet fait partie d’une série sur comment installer et configurer Team Foundation Server en utilisant des alias DNS pour les différents composants :
Dans ce billet nous allons voir comment configurer Team Foundation Server afin d’utiliser les alias DNS pour la partie data et pour SharePoint. Voici ceux que j’utiliserai pour ce tutoriel :
Pour Team Foundation Server, même si l’ensemble des composants est sur le même serveur il faudra obligatoirement passer par la configuration avancée :
La configuration initiale est maintenant finie. Il reste encore à mettre à jour l’URL utilisée par TFS pour la partie Web :
Le serveur Team Foundation Server est maintenant entièrement configuré pour utiliser les différents alias DNS. Il reste une dernière mise à jour à faire au niveau de SharePoint.
Maintenant que le lien entre TFS et SharePoint est créé, il faut retourner sur la configuration des extensions TFS pour SharePoint afin de mettre à jour l’URL du serveur TFS :
Et voila l’ensemble des composants de votre plateforme Team Foundation Server est maintenant configuré pour utiliser des alias DNS. Si dans le futur vous devez migrer un composant vers un autre serveur, plus besoin de renommage il suffira juste de mettre à jour l’alias au niveau du serveur DNS
Carpe Diem.
19/11/12
Ce billet fait partie d’une série sur comment installer et configurer Team Foundation Server en utilisant des alias DNS pour les différents composants :
Dans ce billet nous allons voir comment configurer SharePoint afin d’utiliser les alias DNS pour la base de données et pour SharePoint. Voici ceux que j’utiliserai pour ce tutoriel :
Pour configurer SharePoint avec nos alias DNS nous ne pouvons pas utiliser l’installation automatique de TFS, il faut obligatoirement faire une installation séparée :
SharePoint est maintenant installé et configuré en utilisant l’alias DNS de la base de données. Il reste encore à configurer SharePoint pour qu’il réponde lorsqu’on utilise l’alias DNS sharepoint01 :
Voilà SharePoint est maintenant installé et configuré pour fonctionner avec les alias DNS. Il ne vous reste plus qu’a installer normalement les extensions TFS pour SharePoint.
Pour la dernière partie nous verrons comment installer et configurer Team Foundation Server pour utiliser l’ensemble des composants que nous venons de mettre en place
Carpe Diem.
5/11/12
Dans ma précédente série de billet j’ai abordé le sujet de comment renommer les serveurs hébergeant les différents composants de TFS et reconfigurer l’ensemble pour avoir une plateforme à nouveau opérationnelle. Dans cette nouvelle série je vais vous expliquer comment réaliser une installation en utilisant des alias DNS afin de simplifier grandement un changement ultérieur de serveur vu qu’il n’y aura qu’à mettre à jour l’alias
Même si vous décider d’installation l’ensemble des composants sur un serveur unique, la mise en place d’alias DNS pour l’ensemble des composants dès l’installation vous simplifiera la vie en cas d’évolutions futures. Voici la liste des composants pour lesquels on aura un alias :
J’aborderai en 3 parties la configuration spécifique par rapport à une installation standard :
Commençons par voir la partie Data Tiers qui comprend SQL Server, Analysis Services et Reporting Services. Voici les alias que j’utiliserai, libre à vous d’utiliser ceux que vous voulez
Le domaine utilisé dans mon tutoriel sera demo.local.
Pour la partie SQL Server (base de données uniquement), il n’y a aucune configuration spécifique étant donné que ce composant ne dépend d’aucun autre
Comme pour SQL Server, ce composant ne dépendant à l’installation d’aucun autre composant il n’y a pas de configuration particulière ; sauf dans un cas, si vous installer Analysis Services sur le même serveur qu’un composant qui dépend de lui. Dans ce cas après l’installation il faut modifier une clé de registre afin de désactiver la vérification d’un loopback. En effet par défaut il n’est pas possible de se connecter à Analysis Services localement par une autre adresse que “localhost”. Voici la procédure pour désactiver cette vérification :
Attention ceci aura des conséquences sur la sécurité de votre serveur. Pour plus d’information vous pouvez consulter le site de Microsoft : http://support.microsoft.com/kb/983444
L’installation et la configuration de Reporting Services est un peu plus longue afin d’utiliser des alias DNS. Pour cela il faut :
Voilà l’ensemble des composants de SQL Server sont maintenant installés et configurés pour fonctionner avec les alias DNS
Pour la suite nous verrons comment installer et configurer la partie SharePoint.
Carpe Diem.
1/11/12
Si vous avez suivi l’actualité autour de Team Foundation Server 2012 vous devez savoir que Microsoft propose depuis un moment une version preview de son outil dans Azure. Depuis hier Team Foundation Service est officiellement en production à l’adresse http://tfs.visualstudio.com !
Le service va continuer de s’améliorer toutes les 3 semaines au rythme des sprint de l’équipe DevDiv. Pour l’instant voici ce qui est proposé :
Pour vous connecter pour le développement il vous faudra un des outils suivant :
Si vous n’avez pas besoin du reporting ou de sharepoint je ne peux que vous encourager à tester ce service
Carpe Diem.
27/08/12
Liste des billets de cette série :
Dans cette sixième partie nous allons voir ce qu’il faut faire lorsque nous voulons renommer le serveur TeamBuild build.demo.local en build1.demo.local pour que nos services remarches
Comme pour tout les autres re-nommage la première chose à faire est bien entendu de renommer le serveur et de le redémarrer
Il faut ensuite reconfigurer le service de build afin qu’il expose son Endpoint WCF sur la nouvelle adresse :

Si vous ne voulez pas utiliser la console d’administration, pas d’outil en ligne de commande mais une modification directement en base de registre est possible :
Voila l’installation est de nouveau fonctionnelle. Dans un prochain billet je vous présenterai une solution à mettre en oeuvre lors de l’installation pour éviter toutes ces manipulations fastidieuses.
Carpe Diem.
24/08/12

Nous venons de publier une nouvelle version stable des Community TFS Build Extensions. Je vous laisse aller voir la liste des modifications sur la page de téléchargement ici.
Vos retours et suggestions sont les bienvenus ; vous pouvez utiliser le forum sur le site pour cela ![]()
Carpe Diem.