locked
Interaction between TFS & VMWare Lab manager RRS feed

  • Question

  • Hi Guys,

    I am very much new in using VM Ware, I think we can create virtual envirnments on VMware LabManager,

    I want to build,deploy and then want to do some smoke test on VMWare Lab manager & my code will be on TFS Server

    Do i need to create a new envirnment on VM ware for my TFS Server?if yes then how the actual binaries will be get copied on the same server.

    Can any one let me know how to acheive it?

    Regards,

    Jay


    jaydeep
    Friday, February 25, 2011 7:20 PM

Answers

  • Assuming you have created a new environment in VmWare and registered it with TFS as a Physical Environment, you *CAN* target it using MTM and you *CAN* target it as part of a nightly Build-Deploy-Test:

    Darshan Desai: http://blogs.msdn.com/b/lab_management/archive/2011/02/16/running-build-deploy-test-workflow-on-physical-environments.aspx (*contains the XAML Workflow you need to target VmWare in nightly builds*).

    Colin Dembovski: http://colinsalmcorner.blogspot.com/2011/02/build-deploy-test-workflow-for-physical.html

    The following are a free set of MsBuild tasks to help you drive VmWare are part of your Build-Deploy-Test:

    http://vmwaretasks.codeplex.com/

    Or there are commercial WWF alternatives like PowerWF.

    Cheers!

    Graham

     

    Saturday, February 26, 2011 3:12 AM
  • Jay,

    Do you have to use VMWare Lab Manager?  If you can use Microsoft Hyper-V you can use Visual Studio 2010 Lab Management (uses SCVMM behind the scenes like Anuj mentions).  VS 2010 Lab Management is similar to VMWare Lab Manager and allows you to provision virtual environments.  However, VS 2010 Lab Management is nicely integrated into Visual Studio ALM and TFS 2010.  TFS Team Build 2010 includes a build template for building, deploying, and testing your applications like Anuj was describing below.  If there is any option to use it, I highly recommend it.  A lot of companies use VMWare exclusively, but I have had some luck getting IT departments to agree to use Hyper-V for SCVMM and Lab Management 2010 in development environments only or as a proof of concept.  Try to sell it that way.  It will sell itself after that.

    If you do need to use VMWare Lab Manager, there isn't an automatic deployment feature, but you essentially need to treat VMWare environments like phyiscal servers.  You can easily customize TFS Team Build 2010 to deploy to these servers.  I have created a some custom build activities for deploying MSIs to remote machines that could be VMWare VMs called Team Deploy.  You can download and use Team Deploy for free at http://teamdeploy.codeplex.com.  If you are building web applications, there are many examples of using web deploy to deploy to remote machines. 

    For running the smoke tests, you can install the test agent to the server and update the test configuration to run on that server.  This post of mine describes setting this up to run on a  build server but it could easily be a remote VMWare Lab manager server.  http://codesmartnothard.com/ConfiguringATFS2010TeamBuildServerToRunCodedUITests.aspx

    Let me know if you have any questions about this or if want to describe the application you are building in more detail.

    I hope this helps,

    Mike


    blog - http://www.codesmartnothard.com
    Saturday, February 26, 2011 3:44 AM

All replies

  • Hi Jay,

    You will need a SCVMM to create a virtual environment. The TFS server can only be hooked up to SCVMM.

    The worklow in LabDefaultTemplate can be used to deploy your build and run tests against it.

    For deployment, you will need to create deployment scripts and pass the build drop location ($BuildLocation) as an argument.

    For testing, the test agnet will copy the test and dependent binaries automatically from the build drop and run the test.

    Please refer http://social.technet.microsoft.com/wiki/contents/articles/tfs-2010-build-deploy-test.aspx

    Thanks,

    Anuj

    Friday, February 25, 2011 9:31 PM
  • Assuming you have created a new environment in VmWare and registered it with TFS as a Physical Environment, you *CAN* target it using MTM and you *CAN* target it as part of a nightly Build-Deploy-Test:

    Darshan Desai: http://blogs.msdn.com/b/lab_management/archive/2011/02/16/running-build-deploy-test-workflow-on-physical-environments.aspx (*contains the XAML Workflow you need to target VmWare in nightly builds*).

    Colin Dembovski: http://colinsalmcorner.blogspot.com/2011/02/build-deploy-test-workflow-for-physical.html

    The following are a free set of MsBuild tasks to help you drive VmWare are part of your Build-Deploy-Test:

    http://vmwaretasks.codeplex.com/

    Or there are commercial WWF alternatives like PowerWF.

    Cheers!

    Graham

     

    Saturday, February 26, 2011 3:12 AM
  • Jay,

    Do you have to use VMWare Lab Manager?  If you can use Microsoft Hyper-V you can use Visual Studio 2010 Lab Management (uses SCVMM behind the scenes like Anuj mentions).  VS 2010 Lab Management is similar to VMWare Lab Manager and allows you to provision virtual environments.  However, VS 2010 Lab Management is nicely integrated into Visual Studio ALM and TFS 2010.  TFS Team Build 2010 includes a build template for building, deploying, and testing your applications like Anuj was describing below.  If there is any option to use it, I highly recommend it.  A lot of companies use VMWare exclusively, but I have had some luck getting IT departments to agree to use Hyper-V for SCVMM and Lab Management 2010 in development environments only or as a proof of concept.  Try to sell it that way.  It will sell itself after that.

    If you do need to use VMWare Lab Manager, there isn't an automatic deployment feature, but you essentially need to treat VMWare environments like phyiscal servers.  You can easily customize TFS Team Build 2010 to deploy to these servers.  I have created a some custom build activities for deploying MSIs to remote machines that could be VMWare VMs called Team Deploy.  You can download and use Team Deploy for free at http://teamdeploy.codeplex.com.  If you are building web applications, there are many examples of using web deploy to deploy to remote machines. 

    For running the smoke tests, you can install the test agent to the server and update the test configuration to run on that server.  This post of mine describes setting this up to run on a  build server but it could easily be a remote VMWare Lab manager server.  http://codesmartnothard.com/ConfiguringATFS2010TeamBuildServerToRunCodedUITests.aspx

    Let me know if you have any questions about this or if want to describe the application you are building in more detail.

    I hope this helps,

    Mike


    blog - http://www.codesmartnothard.com
    Saturday, February 26, 2011 3:44 AM
  • Thanks All,

    Mike - After reading your answer ,I feel that VMware will be used to create envirnment & later on we treat those machine as physical machines,rest all thing are same like when we try to deploy the build to any remote server?

    I mean in build defination we will  give the share path of VMWare Envirnment as drop location.


    jaydeep
    Saturday, February 26, 2011 6:17 AM