Mise à jour pour Visual Studio 11 Beta

Microsoft a récemment publié une mise à jour pour la version beta de Visual Studio 11.

Pour la télécharger c’est ici.
Plus d’info pour ce qu’elle fixe, .

A installer de toute urgence!

image

Comments

Buildez dans le cloud avec Team Foundation Services

Brian Harry l’a annoncé il y a quelques jours, il est maintenant possible d’utiliser Azure pour l’intégration continue de vos projets. Fini la création de Build Controller, Build Agent, VMs et la maintenance de tout ceci.

Le moins qu’on puisse dire est que l’intégration continue devient de plus en plus accessible avec la prochaine génération de logiciels et de services Microsoft.

Comment ca marche

Pour faire bref, vous avez maintenant la possibilité de cibler un nouveau Build Controller (le “Hosted Build Controller”) dans vos définitions de Build. Lorsque celui-ci est spécifié, toute Build démarrée sera compilée sur le Cloud.

En interne, Microsoft possède un pool de VM sur Azure et dès que vous déclenché une Build, une VM est prise dans ce pool et la mécanique d’intégration continue s’effectue “normalement” (création de workspace, récupération des sources, compilations, exécution des tests, indexation des sources, etc.).

Une fois la Build terminée la VM est restaurée dans son état “clean” et réintègre le Pool.

Vous avez la possibilité d’utiliser un Build Template Custom, comme On-Premise (i.e. “à la maison”).

Un seul détail différencie les Build sur le Cloud de leur version On-Premise: la “Drop Location” des binaires compilés. Ce paramètre est historiquement une UNC, on se doutera que sur le Cloud, ca ne marche pas!

Microsoft emploie une solution qui a le mérite d’être simple: la drop location est un emplacement dans votre Source Control. Les puristes du SCM vont sauter au plafond, mais bon, ca marche et comme Brian l’explique vous avez la possibilité de mettre en cache le contenu de la Drop Location en utilisant le TFSC Proxy et lorsque vous supprimez une Build le contenu est bien effacé du SCM (heureusement!).

Mise en place

A partir de l’onglet “Builds” du Team Explorer de Visual Studio 11beta, cliquez sur “New Build Definition” pour faire apparaitre la fenêtre de configuration d’un type de Build.

Read the rest of this entry »

Comments

Configuration de TFS Build avec TFSPreview

A un petit détail près voilà un cas où l’on peut attribuer une phrase que Microsoft aime bien nous sortir en ce moment "It works as you would expect!" (et non, ce n’était pas "Fast and fluid"…).

Pour les chanceux qui disposent d’un compte TFSPreview et qui voudraient utiliser la fonctionnalité d’intégration continue: c’est possible!

Pour ce faire récupérez TFS11 beta et suivez ce petit ScreenCast!

Pour bénéficier de l’intégration continue il faut installer un nouveau Build Controller et au moins un Build Agent sur une machine “on premise” (c’est à dire sur votre réseaux local). Celle-ci ira dialoguer avec TFS Preview pour tout échange relatif à la compilation.

Installer TFS 11 beta sur la machine destinée à être le contrôleur

01-license

02-installing

Une fois TFS 11 installé il faut le configurer

Nous voilà sur le Server Configuration Center, on clique sur “Configure Team Foundation Build Service”.

Read the rest of this entry »

Comments (1)

Visual Studio 11: du nouveau pour les Workspace–Partie 2

Ce billet fait suite à la première partie.

Workspace Local

Je ne le répèterais jamais assez, le Workspace Local est le nouveau mode par défaut de Visual Studio 11, c’est à dire que celui créé par défaut lorsque l’on se connecte pour la première fois à un serveur TFS sera en mode Local. Donc si vous ne touchez à rien concernant les Workspace, vous serez en mode Local, mieux vaut donc savoir comment ce mode fonctionne!

Que nous apporte ce nouveau type? On peut dire qu’il est l’opposé du workspace de type serveur.

Dans ce mode le Workspace est géré indépendamment du serveur TFS, le premier avantage évident est qu’il n’est donc plus nécessaire d’être connecté au serveur TFS pour effectuer la plupart des opérations liées à la gestion de configuration. Le deuxième avantage est que vos actions n’ont pas à être initiées dans Visual Studio pour que celui-ci détecte les changements apportés aux répertoires sous gestion de configuration.

Pour être plus clair, Visual Studio surveille en permanence les changements effectués dans les répertoires et leur fichiers. Les fichiers ne sont plus en read-only (lecture seule) lorsque qu’ils ne sont pas en check-out (cela fait du bien!) et vous avez la possibilité de les modifier en dehors de Visual Studio de manière totalement naturelle. Ce dernier vous détectera immédiatement tous fichiers édités, rajoutés, supprimés, idem pour les dossiers. Vous aurez alors la possibilité d’indiquer à Visual Studio les fichiers à mettre en gestion de configuration, ceux qu’il faut ignorer, ou le guider pour certaines opérations particulières comme le déplacement ou renommage de fichier.

Rassurez-vous, Visual Studio est assez intelligent pour ignorer automatiquement les fichiers intermédiaires et générés à l’issue d’une compilation: les répertoires “Debug”, “Release” et autres “bin” ou “obj” ne viendront jamais vous perturber.

Le cas de Resharper

Un bon exemple d’une petite nuisance que peut apporter ce mode. Lorsque vous avez l’excellent Resharper d’installé sur votre Visual Studio et que vous ouvrez pour la première fois une solution, celui va automatiquement créer un sous-répertoire “_Resharper.xxxx” dans celle-ci qui contiendra bon nombres de fichiers nécessaire à l’add-on.

Du coup Visual Studio vous détecte bon nombre de changements:

image

Un clique sur “Detected changes” vous listera tous les fichiers détectés:

image

Pas de panique, un clique droit sur le premier fichier puis “ignore by folder” vous ajoutera une règle d’exception (dans le nouveau fichier “.tfignore”) qui indiquera à VS11 d’ignorer tous les changements dans ce répertoire propre à Resharper.

image

Le fichier .tfignore

Les adeptes de SVN ne vont pas être dépaysé, chaque exclusion sera matérialisée dans le fichier .tfignore qui sera mis à jour par le bisais de Visual Studio (comme on l’a vu pour le cas de Resharper) ou en l’éditant directement.

A noter que le fichier “.tfignore” sera directement dans les “pending changes” pour être rajouté dans votre Source Control afin que les autres utilisateurs en profite.

image

La syntaxe employée par ce fichier est relativement générique et sera détaillée dans l’entête de celui-ci.

Recommandations

S’il n’y a pas de limite “physique” pour les Workspace Locaux, on imaginera vite qu’une Solution énorme avec 50 projets et des dizaines de milliers de fichiers ne sera pas forcément adapté. Microsoft n’avance pas de chiffre, mais clairement pour les gros projets il faudra peser le pour et le contre et peu être passer sur un Workspace en mode serveur.

Il y a deux raisons:

  1. Le système de surveillance des fichiers sera mis à rude épreuve sur les répertoires contenant beaucoup de fichiers et l’expérience dans Visual Studio en serait dégradé. Cela dit cela dépend grandement du disque hébergeant les fichiers, la limite sera bien plus haute si vous êtes équipé d’un SSD de dernière génération!
  2. Afin de pouvoir fonctionner sans connexion active au serveur TFS, VS11 met en cache tous les fichiers issues du serveur. Mêmes si ceux-ci sont compressés (unitairement) tout est doublé! Pour les grosse solutions, il faudra faire attention que l’utilisateur peut se le permettre.

Le cache du Workspace Local

Détaillons un peu ce point qui le mérite! Travailler en mode local nous apporte l’avantage de ne plus être dépendant du serveur pour la plupart des opérations, mais demande en contrepartie un  peu plus de place sur votre disque dur!

Dans la racine de votre Workspace en local, un dossier caché “$tf” est créé, il n’est pas important de connaitre sa structure interne, mais il est intéressant de savoir à quoi il sert.

image

A chaque fois que l’utilisateur va faire un Get Latest d’un fichier, en plus d’être téléchargé en local, celui-ci sera compressé puis stocké dans le répertoire $tf. La version “serveur” du fichier sera alors toujours disponible, même quand le serveur ne sera pas accessible. Ainsi on pourra librement modifier le fichier dans le Workspace (en passant ou non par VS) tout en ayant la possibilité de le comparer avec la version du serveur. En fonction de si le serveur TFS est accessible ou non VS utilisera la version en cache où ira prendre celle du serveur (si un version plus récente s’y trouve par exemple).

Comments

Visual Studio 11: du nouveau pour les Workspace–Partie 1

Visual Studio 11 nous offre une évolution notable du coté de la gestion de configuration avec un nouveau type de Workspace.

Avant de la découvrir, commençons par un petit cours d’histoire…

Il était une fois….

Avant TFS Microsoft n’avait qu’une solution pour gérer le SCM: SourceSafe. Tout ceux qui ont utilisé cet outil savent ô combien il fallait s’armer de patience et de courage pour parvenir à ses fins. Dans la (longue) liste des reproches que l’on pouvait faire à SourceSafe nous avions:

  • Pas très scalable: SourceSafe ne supportait pas vraiment bien les gros projets, ni les grosses équipes.
  • Ne marche qu’en Local: pas possible de le faire fonctionner avec des équipes distribuées un peu partout sur le WAN.
  • Mode de gestion de branche très limité…
  • Bon bref, j’arrête là, RIP SourceSafe…

Pour revenir à TFS, Microsoft à donc souhaité gommer les plus gros défauts de SourceSafe et notamment celui de la distribution sur le WAN. De nos jours il est très fréquent d’avoir des équipes de développement éparpillées un peu partout sur le globe, alors il faut que leur SCM favoris supporte cette distribution. Pour ce faire, TFSC (Team Foundation Source Control) est basé sur les technos de pointes (de l’époque): backend en SQL Server, frontend en Web Service SOAP.

Gérer le WAN demande à prendre en compte les contraintes de bande passante limitée et de latence, si bien que Microsoft a conçue les Workspace de TFSC pour répondre à cette problématique. Un Workspace est une vue locale de contenu stocké à distance sur un serveur. Pour minimiser les aller/retour entre Visual Studio est le serveur Team Foundation, Microsoft à conçu les Workspace comme étant un espèce de Cache.

Par exemple, lorsque l’on fait un Get Latest (obtenir la dernière version), si par la suite on supprime des fichiers du Workspace en utilisant l’explorateur de Windows et que l’on refait un Get Latest: rien ne se passe! Vu que le Workspace est considéré comme un cache, seules les opérations initiées dans Visual Studio comptent, si vous vous en écartez: tant pis pour vous.

Ce mode est relativement efficace pour les grosses équipes, distribuées un peu partout, mais il n’est pas sans inconvénients:

  • Il vaut mieux travailler tout le temps en mode “Online”. C’est à dire connecté au serveur TFS. Le mode offline étant possible, mais pas indolore lors de la reconnexion.
  • Certaines opérations ne sont pas intuitives. Pour le développeur non avertit, on va droit vers les problèmes si l’on considère que l’on peut faire ce que l’on veut avec les fichiers issue du Workspace en les traitant comme de simple “fichiers dans windows”.

Microsoft à tenté d’ajuster le tir avec les versions 2008 et 2010 ainsi que les Power Tools, mais sans y parvenir de manière concluante. La montée en puissance des logiciels dit “Distributed Revision Control System” (DRCS) comme Git n’a pas arrangé les choses…

Autant le dire tout de suite, TFS/VS11 n’offrent pas de DRCS, mais bon, ce point là n’est pas le plus important. Alors, quoi de neuf ?

Propriétés d’un Workspace

Un nouveau type de Workspace apparait et attention, dans Visual Studio 11, il s’agit du type par défaut ! (autant dire que Microsoft fait un 180° sur ce point): le Workspace Local.

Read the rest of this entry »

Comments (1) Trackback / Pingback (1)

Visual Studio 11: premières impressions

imageCa y est, la béta de Visual Studio 11 est sortie hier! Ce qu’on peut dire c’est qu’il y a du changement, tellement de changement qu’on ne sait plus où donner de la tête et des yeux.

Qu’est ce qu’on peut dire de cette nouvelle version (tant attendue) après quelques heures d’utilisation ?

Shades of grey, endless…

J’espère que vous aimez le gris et le bleu car Visual Studio à fait un petit voyage dans le passé et se retrouve maintenant compatible avec les résolutions graphiques des années 80 avec sa toute nouvelle interface “16 couleurs"…

image

Style “Metro” oblige, Visual Studio 11 est maintenant d’un style très épuré est le moins qu’on puisse dire c’est que cela ne laisse personne indifférent! Il n’y a pas une session au MVP Summit sans que des MVP fassent remarquer aux gens de Microsoft que ce changement est plus de l’ordre de la régression que de l’évolution.

Pour ma part je me range du coté des déçus, si les interface simples, épurées peuvent trouver leur sens sur un Windows Phone, je doute qu’il en soit de même sur une application qui s’affiche sur un écran d’une résolution proche ou égale du Full HD.

La couleur est une composante discriminante et lorsque l’on se retrouve avec une barre d’outil monochrome, on a beau dire ce que l’on veut, mais c’est moins simple de trouver le bon icône!

Passer de:

image

à:

image

va demander un certain temps d’adaptation…

Solution Explorer “new age”

imageFort de son expérience avec les Visual Studio Productivity Power Tools, Microsoft à décider de donner un coup de jeune au Solution Explorer en y intégrant les principes du Solution Navigator.

Le Solution Explorer ne remplace pas le Class View, mais rend quand même ce dernier de moins en moins utile.

Pour ceux qui ne connaissent pas les principes du Solution Navigator ce n’est pas très compliqué: il s’agit d’un mix entre une vue physique et “langage” de votre solution. Vous trouverez donc des items liés aux projets, fichiers, mais aussi les propriétés, références externes, classes et méthodes.

Sans oublier la petite zone de recherche qui permet de filtrer le contenu de la vue afin de s’y retrouver plus facilement dans les gros projets.

Mais ce n’est pas tout, cette vue introduit un concept qui va devenir de plus en plus fréquent dans Visual Studio, certaines actions de l’utilisateur initient une navigation en affichant dans la vue un contenu plus contextuel de l’information.

Read the rest of this entry »

Comments

Visual Studio 11 et .Net 4.5 en beta le 29 Février

Ca bouge enfin du coté de la DevDiv de Microsoft! Nous n’avions pas grand chose à nous mettre sous la dent depuis la conférence Build mais à l’approche du MVP Summit, Microsoft commence à dévoiler le futur de son écosystème lié au développement.

Visual Studio 11, version Metro

La tendance se confirme: tout la gamme des produits Microsoft passe au style Metro, c’est sûr que le changement est radical! Pour ma part l’abandon de relief (“chrome” comme disent nos collègues Américains) au profit de la clarté et de la simplicité est une bonne chose.

Un petit screenshot veut mieux qu’un long discours:

Qu’attendre de cette version 11 de Visual Studio?

Read the rest of this entry »

Comments Trackback / Pingback (1)