Using CloudShare TeamLabs for Dev/Test with TFService

UPDATE:: Corrected length of trial for CloudShare TeamLabs from 30 days to 14 days.

I have been using CloudShare for over two years now and thought a blog post was past due.  In the not so distant past I used either Hyper-V or VMware Workstation for all of my various SharePoint development environments and client configurations.  This involved some desktops and/or laptop that could support 16GBs or RAM or more and SSDs to host the virtual disks.

CloudShare had a promotion on their ProPlus subscription at the time where you got an extra 8GB of RAM in your Pro Plus environment.  I was doing quite a bit of SharePoint 2010 development at the time and for the price I couldn’t say ‘No’.  I still use it today for SharePoint 2013 development.

CloudShare ProPlus

I’ve been using an Ultrabook style laptop for the past two years and their memory and disk configurations don’t tend to lend themselves well to running virtualized SharePoint Server environments 🙂

I’m open to suggestions of course but moving to the cloud ended up being an easy decision and cheaper than having a specialized laptop for these types of things.

I have been working on a SharePoint Server 2013 project running on Windows Server 2008 R2 SP1 with SQL Server 2008 R2 SP2.  I use Team Foundation Service to manage the source code and work items (tasks, bugs, etc) related to the project.  I have two environments at CloudShare to help me develop and test the code being delivered to the client, they are as follows:

  • SharePoint 2013 Development Environment running Visual Studio 2013, SharePoint Server 2013, SQL Server 2012 SP1 and Windows Server 2012.
  • SharePoint 2013 Test Environment running Windows Server 2008 R2 SP1, SharePoint Server 2013 and SQL Server 2012 SP1.

Here is a view of the environments in my ProPlus subscription:

My Environments

I do not like to perform final testing in the development environment due to the fact that it is not configured to best practices and doesn’t match the clients configuration.  In the Development virtual machine I have a Team Build 2013 installed so the WSPs are compiled and placed into version control as part of the development/continuous integration process.

In the summer of June 2013 CloudShare announced integration with Team Foundation Server and their CloudShare TeamLabs subscription.  CloudShare created a TFS Build activity for Team Build 2012 (which I have been using with Team Build 2013 RC).  The build activity can interact with the environments in your CloudShare TeamLabs subscription.

CloudShare TeamLabs | My Environments

Here is a build definition I have defined in one of my Team Projects hosted by Team Foundation Service, first thing you’ll notice is I have it configured to use the CloudShare Build Process Template which is an extension of the default template provided by Microsoft that includes the CloudShare Build activities.  CloudShare has an installer included with the TFS Plugin for getting the template and its assemblies into your Team Project.

CloudShare Build Definition

I’ll walk you through the CloudShare Workflow Parameters wizard to show you how I have it configured.  Click on Deploy Parameters in the CloudShare section of the build process parameters.  Click the elipsis that is displayed on the far right to display the Workflow Parameters wizard.



Click Next ->

Your API ID and API Key are available within your CloudShare account

Your API ID and API Key are available within your CloudShare account

Login to your CloudShare account to retrieve the values for API ID and API Key.

Once you’ve entered those click Next ->

Choose your project, BluePrint, Policy and Snapshot settings

Choose your project, BluePrint, Policy and Snapshot settings

Make your selections and click Next -> for the last step of the process.

Choose how you want to deploy the build

Choose how you want to deploy the build

You have quite a few option on this final dialog, including the option of specifying  deployment scripts for each of the VMs you have in your environment.  In my screenshot above you will see I added a link to a batch file to start the AutoSPInstaller.  One thing you will notice that if you require a specific user account to perform certain actions in your scripts I recommend you specify credentials as part of your script (runas, PowerShell Remoting).

If we take a look at the Build Activity Log you can see the steps being executed by the CloudShare Deploy Activity.

Build Activity Log

Build Activity Log

Here you’ll see that the local drop folder for the build above is zipped up and uploaded to your Cloud Folder where you would be able to access it via your deployment scripts.  The Cloud Folder included with your Team Labs subscription is considerably larger (30Gb) than what you get with a Pro Plus (5Gb) subscription, you won’t have to worry about running out of space.  The worst offender in my case is the binaries required to deploy an up-to-date SharePoint 2013 installation 🙂

Cloud Folders

Cloud Folders

Hope you enjoyed a peek into the functionality included with the CloudShare TFS Plugin.  I definitely recommend you give it a try, you can request a free 14 day trial of CloudShare Team Labs here.

About Wes MacDonald

Wes MacDonald is a DevOps Consultant for LIKE 10 INC., a DevOps consulting firm providing premium support, guidance and services for Azure, Microsoft 365 and Azure DevOps.

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: