Guillaume Rouchon's Blog

.Net and VisualStudio ALM

Follow me on TwitterRSS Feeds

  • Home
  • Projects

VS ALM : Tips for using Brian Keller’s VS ALM virtual machine

Mar 4th

Posted by Guillaume Rouchon in Uncategorized

5 comments

I’m using more and more Brian Keller’s virtual machine for my presentations and demos. This virtual machine can be downloaded on Brian’s blog:

http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx

This VM already contains all tools installed and configured and also has some projects with data. To ensure it’s use over time some scripts are run at each startup of the system and can cause some errors when you want, like me, to do your own demos.

Here are 2 tips to avoid the “demo effect” :)

  1. Be careful of the time : at each restart the date and time are reset to 05/16/2012 at 12PM. If you have prepared a demo by doing some checkins and you will do some more checkins while demoing, it’s important to update the C:\util\SetDateAndTime.bat script to change the time and put a value after your last checkin. If you don’t you will get a checkin error during your demo since you’re doing a checkin before the last one:
    image
  2. Be careful on hosts file : as for date and time, the hosts file is automatically reset at each startup. If you need to update it for your demos don’t forget to also modify the C:\util\updatedhosts file. If you don’t you will have errors when accessing those network resources:

    image

Carpe Diem.

  • Français
Team Foundation Server 2012, Visual Studio ALM

TFS : Create a WebDeploy package using Team Build

Feb 18th

Posted by Guillaume Rouchon in Uncategorized

4 comments

During my session at the TechDays 2013 a reader of my blog asked me how to generate a WebDeploy package from Team Build. Here’s a post on this subject :)

Before starting here’s a brief reminder of what WebDeploy is:

WebDeploy is a tool to simplify the deployment of web applications or web sites on IIS servers. With WebDeploy an administrator can export or import a web site as a configurable package or can synchronize IIS servers.

In this post i’ll show you how you can create a WebDeploy package (.zip) based on your web application source files and the result of it’s build.

Configuring the solution

The first thing you can do is configure your web projet using it’s properties:

SNAGHTML367f113

Note that all these parameters can be overrides during a build if you want to centralized some of those parameters. In fact, all these parameters are MsBuild properties :)

Setting up a build definition

Before anything, you need to create a build definition using the default template and configure it to build your solution containing your web application:

SNAGHTML382aac1

If you start this build without any other parameters you will get in the output a folder named _PublishedWebSites containing your web application:

SNAGHTML384d26d

To create a WebDeploy package we will need to pass some specific values for MsBuild properties used in the Web deployment targets Microsoft.Web.Publishing.targets. Here are those properties we will override:

  • DeployOnBuild: a boolean to indicate if we want to deploy after building the web application.
  • DeployTarget: indicates the deployment action to perform.
  • DefaultPackageFileName : the name of the WebDeploy package to create.

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 suffixe des noms des différents fichiers générés. 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 :

SNAGHTML39370be

Nous allons pouvoir utiliser la propriété DefaultPackageFileName afin de surcharger cette valeur :

SNAGHTML39d0f2f

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” :

SNAGHTML39fe5a0

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 :

SNAGHTML3a223e7

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 :)

Using publishing profiles

With Visual Studio 2012 you can now create publishing profiles (.pubxml files). Theses files containes the WebDeploy parameters to use. You can easily create or use those profiles inside Visual Studio by doing a right click on your project and select Publish :

SNAGHTML3a852b4

You can create or us an existing publishing profile:

SNAGHTML3a9b9df

When you have created and added to source controls your publishing profiles you can use the PublishProfile parameter to use them with MsBuild. This parameter specifies the name of the publishing profile file to use (without the .pubxml): /p:PublishProfile=Dev

As for the other parameters we use “MsBuild Arguments”:

SNAGHTML3ad6ead

And now you have all the information you need to generate WebDeploy package from Team Foundation Build :)

Carpe Diem.

  • Français
TeamBuild 2012, WebDeploy

Team Build : TFS Build Extensions – January 2012

Feb 18th

Posted by Guillaume Rouchon in Uncategorized

No comments

We released a new stable version on the Community TFS Build Extensions. For a list of updates see the download page here.

Your feedback and suggestions are welcomed, use the site’s forum for this :)

Carpe Diem.

  • Français
TeamBuild 2012, TFS Build Extensions

TechDays : Speaker sur Team Foundation Server 2012 aux TechDays 2013

Jan 10th

Posted by Guillaume Rouchon in Uncategorized

1 comment

Translate original post with Google Translate

logo_mstechdays_2013

 

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 :

  • Outillage pour Windows 8 XAML
  • Introduction au développement Windows 8 avec XAML et .NET 4.5
  • Kinect en moins de 10 Minutes
  • Retrouver de la magie dans le quotidien – nouvelles formes d’interactions avec l’informatique pervasive

Carpe Diem.

  • Français
Team Foundation Server 2012, TechDays

TFS : Installation using DNS aliases – Part 3 : Team Foundation Server

Dec 3rd

Posted by Guillaume Rouchon in Uncategorized

39 comments

This post is part of a series on how to install and configure Team Foundation Server using DNS aliases for it’s components:

  • Part 1 : Data Tiers
  • Part 2 : SharePoint
  • Part 3 : Team Foundation Server

In this post we’ll see how to configure Team Foundation Server to use the DNS aliases for the database and SharePoint. Here’s the aliases i’ll be using for this tutorial:

  • SQL Server : sql01.demo.local
  • Analysis Services : analysis01.demo.local
  • Reporting Services : reporting01.demo.local
  • SharePoint : sharepoint01.demo.local
  • Team Foundation Server (AT) : tfs01.demo.local

Team Foundation Server (Application Tiers)

For Team Foundation Server, even if all components are on the same server we’ll have to do an advance configuration:

  1. In the configuration tool for Team Foundation Server, click Advanced then Start Wizard.
    TFS 01
  2. On the Database tab, in the SQL Server Instance field enter the fully qualified DNS name (FQDN) for the SQL server using the DNS alias and click Next.
    TFS 02
  3. On the Reporting Services tab:
    • In the Reporting Services Instance field, enter the fully qualified DNS name (FQDN) for the Reporting Services server using the DNS alias.
    • Click Populate URLs.
    • In the Report Server URL list, select the entry with the DNS alias.
    • In the Report Manager URL list, select the entry with the DNS alias.
    • Click Next.
      TFS 03
  4. On the Analysis Services tab, in the SQL Server Analysis Services Instance field enter the fully qualified DNS name (FQDN) for the Analysis Services server using the DNS alias and click Next.
    TFS 04
  5. On the Integration tab, select Specify a SharePoint location and click Next.
    TFS 05
  6. On the Farm Settings tab:
    • In the Site URL field, enter the fully qualified DNS name (FQDN) for the SharePoint server using the DNS alias.
    • In the Administration URL field, enter the fully qualified DNS name (FQDN) for the SharePoint server with the port 17012 using the DNS alias.
    • Click Next.
      TFS 06

The initial configuration is now finished. We need to configure the URL used by TFS for the web access:

  1. Open the TFS administration console.
  2. On the Application Tier tab, click Change URLs.
    TFS 07
  3. In the Notification URL field, enter the fully qualified DNS name (FQDN) for the TFS server using the DNS alias and click OK.
    TFS 08

The Team Foundation Server server is now completely configured to use all the DNS aliases. The last part we need to configure is in SharePoint.

SharePoint

After configuring TFS the link between TFS and SharePoint is created but without the DNS alias. We need to go back on the SharePoint server to update the TFS extensions for SharePoint:

  1. On the SharePoint server, open the TFS administration console..
  2. On the Extensions for SharePoint Products tab, select the first entry in the table and click Modify access.
    TFS 09
  3. In the URL for Team Foundation Server field, enter the fully qualified DNS name (FQDN) for the TFS server using the DNS alias and click OK.
    TFS 10

And that’s all folks, all our TFS components are now fully configured to use the DNS aliases. If in the future you need to migrate a component to a new server no more need to rename or reconfigure your TFS platform, all you have to do is update the correct alias on the DNS server :)

Carpe Diem.

  • Français
Team Foundation Server 2010, Team Foundation Server 2012

TFS : Installation using DNS aliases – Part 2 : SharePoint

Nov 19th

Posted by Guillaume Rouchon in Uncategorized

6 comments

This post is part of a series on how to install and configure Team Foundation Server using DNS aliases for it’s components:

  • Part 1 : Data Tiers
  • Part 2 : SharePoint
  • Part 3 : Team Foundation Server

In this post we’ll see how to configure SharePoint to use the DNS aliases for the database and SharePoint. Here’s the aliases i’ll be using for this tutorial:

  • SQL Server : sql01.demo.local
  • SharePoint : sharepoint01.demo.local

SharePoint

To configure SharePoint with our DNS aliases we cannot use the integrated install with TFS, we must install it separately:

  1. Launch the SharePoint installer.
  2. Install the prerequisites.
  3. Start the SharePoint installation then launch the configuration interface.
  4. In the Database server field, enter the fully qualified DNS name (FQDN) for the SQL server using the DNS alias and click Next.
    SP 01
  5. Check Specify port number, enter 17012 for the port number to use the default port used by TFS to access SharePoint administration site and click Next.
    SP 02
  6. Finish the configuration with the configuration tool and the administration site.

SharePoint is now configured to use the DNS alias for the database. We must now configure it to respond to request made using the DNS alias sharepoint01:

  1. Open the SharePoint Central Administration page.
  2. Click Configure alternate access mappings.
    SP 03
  3. On the Alternate Access Mappings page, click Edit Public URLs.
    SP 04
  4. In Alternate Acces Mapping Collections, select a collection using Change Alternate Access Mapping Collection.
    SP 05
  5. Click Central Administration.
    SP 06
  6. In the Intranet field, enter the fully qualified DNS name (FQDN) for the SharePoint server using the DNS alias without forgetting the port and click Save.
    SP 07
  7. Click Edit Public URLs again.
  8. In Alternate Acces Mapping Collections, select a collection using Change Alternate Access Mapping Collection.
  9. Click SharePoint – 80.
    SP 10
  10. In the Intranet field, enter the fully qualified DNS name (FQDN) for the SharePoint server using the DNS alias and click Save.
    SP 11

Your SharePoint is now installed and configured to work with your DNS aliases. you can now install the TFS extensions for SharePoint as usual.

In my next post we’ll see how to configure Team Foundation Server to use all the components we just installed :)

Carpe Diem.

  • Français
Team Foundation Server 2010, Team Foundation Server 2012

TFS : Installation using DNS aliases – Part 1 : Data Tiers

Nov 5th

Posted by Guillaume Rouchon in Uncategorized

2 comments

In my last series of post I’ve looked at how you can rename server which runs TFS components and reconfigure them so that the platform can be operational again. In this new series i’ll explain how to realize an installation using DNS aliases so that future server changes will be simplified by simply changing the alias :)

Even you start with a single server installation, using DNS aliases for all components will simplify your task if you need to make some evolution later. Here’s the list of components on which we will have an alias:

  • SQL Server
  • Analysis Services
  • Reporting Services
  • SharePoint
  • Team Foundation Server (Application Tiers)

I’ll look at the specific installation and configuration for this task in 3 parts:

  • Part 1 : Data Tiers
  • Part 2 : SharePoint
  • Part 3 : Team Foundation Server

Let’s start with the Data Tiers part which is comprised of SQL Server, Analysis Services and Reporting Services. Here are the aliases i’ll be using but feel free to use your own :)

  • SQL Server : sql01
  • Analysis Services : analysis01
  • Reporting Services : reporting01

My domain used for this tutorial is demo.local.

SQL Server

For the SQL Server part (database only), there is no specific configuration as this component doesn’t have any dependency :)

Analysis Services

As for SQL Server, this component doesn’t have any dependency so there is not specific configuration except in one case : when you install Analysis Services on the same server as another component which depends on it. In this case after the installation you must add a registry key to disable the loopback check. By default you cannot connect to Analysis Services locally using another address than “localhost”. Here’s how to do this:

  1. Open the registry editor (regedit.exe).
  2. Go to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa key.
  3. Add the DisableLoopbackCheck entry of type DWORD with the value 1.

Be careful that this can have some security implications. For more information please read the following Microsoft KB : http://support.microsoft.com/kb/983444

Reporting Services

Installing and configuring Reporting Services is a little bit longer so that you can use DNS aliases:

  1. Install Reporting Services but do not configure it.
  2. When the installation is done you must configure Reporting Services manually using the configuration manager.
    SSRS 01
  3. Connect to your local SSRS server.
  4. On the Database tab, click Change Database.
    SSRS 03
  5. Select Create a new report server database and click Next.
  6. In the field Server Name, enter the fully qualified DNS name (FQDN) of the SQL server using it’s DNS alias and click Next.
    SSRS 05
  7. Finish the database creation by using the default values.
  8. On the Web Service URL tab, click Apply.
    SSRS 10
  9. On the Report Manager URL tab, click Apply.
    SSRS 11
  10. On the Web Service URL tab, click Advanced.
    SSRS 12
    If you ask yourself why we left the Web Service URL tab and come back to it after this is because the UI is not refreshed automatically and we need to change the tab to have the button enable :(
  11. In the Multiple HTTP Identities section, click Add.
    SSRS 13
  12. Click Host Header Name and enter the fully qualified DNS name of the Reporting Services server using the it’s DNS alias and click OK.
    SSRS 14
  13. Click OK to close the Advanced Multiple Web Site Configuration window.
  14. In the Dans l’onglet Report Manager URL, cliquez sur Advanced.
    SSRS 16
  15. In the Multiple Identities section, click Add.
    SSRS 17
  16. Click Host Header Name and enter the fully qualified DNS name of the Reporting Services server using the it’s DNS alias and click OK.
    SSRS 18
  17. Click OK to close the Advanced Multiple Web Site Configuration window.
  18. Click Exit to close the Reporting Services configuration manager.

Here’s what you must do to install and configure the SQL Server components to work with DNS aliases :) For the next part we’ll see how to configure SharePoint.

Carpe Diem.

  • Français
Team Foundation Server 2010, Team Foundation Server 2012

TFS 2012 : Team Foundation Service is RTMed !

Nov 1st

Posted by Guillaume Rouchon in Uncategorized

1 comment

If you have followed the news around Team Foundation Server 2012 you know that Microsoft has proposed a preview version of its tool on Azure. Since yesterday Team Foundation Service is now officially RTM at the following URL:  http://tfs.visualstudio.com !

The service will continue to improve every 3 weeks which is the sprint cadence of the DevDiv team. For now here is what you can get:

  • Free access up to 5 users,
  • Unlimited number of Team Project,
  • Version control,
  • Work Item tracking,
  • Agile planning tools (Product Backlog, Sprint Backlog et Taskboard),
  • Feedback management,
  • Azure build service (still in preview)

To connect to the platform for development you can use one of these tools:

  • Visual Studio 2010
  • Visual Studio 2012
  • Visual Studio Team Explorer Everywhere 2012 for Eclipse
  • Git-TF for XCode

If you do not need reporting or sharepoint integration I strongly suggest that you take a look at Team Foundation Service :)

Carpe Diem.

  • Français
Team Foundation Service

TFS 2010: Rename a server – Part 7 : the TeamBuild server

Aug 27th

Posted by Guillaume Rouchon in Uncategorized

7 comments

Posts in this series:

  1. Part 1 : introduction
  2. Part 2 : the database server
  3. Part 3 : the Analysis Services server
  4. Part 4 : the Reporting Services server
  5. Part 5 : the Sharepoint server
  6. Part 6 : the TeamFoundation Server server
  7. Part 7 : the TeamBuild server

In this sixth post we will see what to do to rename the TeamBuild server build.demo.local to build1.demo.local and make our service work again :)

TeamBuild

As for the other rename the first thing to do is rename and restart the server :)

We will now reconfigure the build service so that it’s WCF Endpoint is exposed using the new name:

  1. Start the admin console.
  2. Select the Build Configuration node and click the Properties link:
  3. In the dialog window, if the service is started you must first stop it using the stop to make changes link:
  4. You can now update theLocal Build Service Endpoint (incoming) field with the new URL:
    Build
  5. Click Start to restart the build service.
If you do not want to use the admin console, there is no command line but you can make the update directly in the registry:
  1. Open the registry editor (regedit).
  2. Go to HKLM\SOFTWARE\Microsoft\VisualStudio\10.0\TeamFoundation\Build\ServiceHost.
  3. Update the Endpoint value with the new URL.
  4. Restart the build service.

Your installion is back online using the new TeamBuild server name. In a next post i’ll show you some tips when installing TFS to avoid doing all those painful actions if you ever need to rename a server.

    Carpe Diem.
  • Français
Team Foundation Server 2010

TeamBuild: TFS Build Extensions – August 2012

Aug 24th

Posted by Guillaume Rouchon in Uncategorized

2 comments

We just published a new stable version of the Community TFS Build Extensions. For a list of updates see the download page here.

Your feedback and suggestions are welcomed, use the site’s forum for this :)

Carpe Diem.

  • Français
TeamBuild 2010, TeamBuild 2012
12345»...Last »
  • Languages

    •  Français
  • Last Posts

    • VS ALM : Tips for using Brian Keller’s VS ALM virtual machine
    • TFS : Create a WebDeploy package using Team Build
    • Team Build : TFS Build Extensions – January 2012
    • TechDays : Speaker sur Team Foundation Server 2012 aux TechDays 2013
    • TFS : Installation using DNS aliases – Part 3 : Team Foundation Server
  • Tags

    ALM Architecture Code Metrics Eclipse EN FR IntelliTrace Lab Management 2010 MSBuild TeamBuild 2008 TeamBuild 2010 TeamBuild 2012 Team Foundation Server Team Foundation Server 11 Team Foundation Server 2010 Team Foundation Server 2012 Team Foundation Server vNext Team Foundation Service TechDays TFS Build Extensions Visual Studio 11 Visual Studio 2010 Visual Studio 2012 Visual Studio ALM Visual Studio vNext WebDeploy WiqAdmin Workflow Foundation 4.0
  • Logos

    • MVP
  • Blogroll

    • Adrien Siffermann
    • Etienne Margraff
    • Florent Santin (Azra)
    • Gaëtan Bouveret
    • Jason De Oliveira
    • Julien Chomarat
    • Loïc Baumann
    • Mathieu Szablowski (Batswirl)
    • Michel Perfetti
    • Noham Choulant
    • Philippe Sentenac
    • Vincent Labatut
  • Archives

    • March 2013 (1)
    • February 2013 (2)
    • January 2013 (1)
    • December 2012 (1)
    • November 2012 (3)
    • August 2012 (4)
    • July 2012 (2)
    • June 2012 (1)
    • May 2012 (1)
    • April 2012 (1)
    • March 2012 (1)
    • February 2012 (1)
    • January 2012 (1)
    • December 2011 (1)
    • September 2011 (3)
    • July 2011 (2)
    • June 2011 (5)
    • May 2011 (5)
    • April 2011 (1)
    • March 2011 (2)
    • February 2011 (2)
    • January 2011 (1)
    • December 2010 (1)
    • November 2010 (2)
    • October 2010 (4)
    • September 2010 (1)
    • August 2010 (1)
    • July 2010 (2)
    • May 2010 (2)
    • March 2010 (2)
    • February 2010 (2)
    • January 2010 (1)
    • December 2009 (2)
    • November 2009 (3)
    • October 2009 (3)
RSS Feeds Top