TFS

Imports artifacts from TFS.

  • About
  • Details
  • Release Notes
  • Installation

Flexibly Deploy VSTS Projects

Utilize Visual Studio Team Service for its issue tracking and continuous integration capabilities while using BuildMaster's powerful execution engine for deploying and coordinating releases.

TFS intagrations with BuildMaster

Operations

Once the VSTS extension (Visual Studio Online and TFS) is installed on BuildMaster, additional Built-in operations can be called in a deployment plan, such as:

  • Import Artifact from TFS2015 or VSO - Downloads an artifact from the specified TFS Server or VSO and save it to the artifact library
  • Queue TFS 2015/VSO Build - Queue a build in TFS or VSO optionally waiting for its completion
  • Get Latest - Get latest version of code from TFS Server

Specific Issue Tracking operations added include:

  • Create TFS Work Item -Creates a work item in TFS
  • Transition TFS Work Item - Transitions work items in TFS from one status to another
  • Generate Release Notes - Generates an HTML file containing the BuildMaster release notes and/or issues from TFS
  • Halt promotions - Halts a promotions of a release when a TFS work item of a specific status exists

Importing and Deploying Builds

The below tutorial will demonstrate how to utilize this extension by creating a build in VSO, creating a Release Package from that build, and deploying it all the way through production.

We'll be using the build-related features of Visual Studio Online to work with a simple project called Accounts. This tutorial applies to TFS/VSTS as well, though the screenshots may be vary.

Visual Studio Online Setup

In Accounts, we've configured a build definition (Standard) that creates an artifact (Websites).

From here, we will configure BuildMaster to import this artifact from the last successful build.

Step 1: Install and Configure the TFS Extension

Click Administration > Click BuildMaster Extensions > Click TFS > Click Install this Extension

After the extension is installed, BuildMaster will automatically restart, and TFS will now be in the Up-to-Date Extensions.

Click Resource Credentials > Click Team Foundation Server

In BuildMaster, Resource Credentials allow you to connect to different VSO accounts and TFS instances. We’ll configure a profile with VSO credentials.

For Visual Studio Online, you will need to create a Personal Access Token; your regular password will not work.

Step 2: Create an Application in BuildMaster

Click Applications > Click Create Application > Set Name to Accounts > Click Create

When creating the application, the Integration, Testing, and Production environments will be added by default as the initial pipeline.

Step 3: Create an Import Plan

We first need to import an artifact from VSO. For that we'll create a Plan that will queue a build in VSO from BuildMaster and import the artifact from the queued build.

Create a new plan and call it Import Build.

Start with a General Block to describe what will be happening in this plan

Add Queue TFS 2015 / VSO Build to the plan and set the Credential we just created. After a valid credential is set BuildMaster will create drop-down choices for the Team project name and Build definition.

Add Import TFS 2015 / VSO Artifact next. We'll again set the resource credential as well as the Artifact name, the Team project, and the Build definition. We'll use latest to import a the build we just queued.

Visual Mode

Text Mode (OtterScript)

>

Step 4: Edit Application Pipeline and Set Import Plan

When we created the application, a simple pipeline was also created which we can now edit.

Click Pipelines > Click Accounts

You'll see that our three stages are already in place, and they already have Deploy Accounts plan assigned to them. First, we need to import the VSO artifact. We'll create a new Stage for that.

Click Add Stage > Set Name to Import > Set Pipeline position to 0 > Click Save Stage

By setting the Pipeline position to 0, the stage is created as the first stage in the pipeline, since we need to import a build before we can move it through our pipeline.

Next we need to set the import stage with our import plan. Click add target on the import stage and set the plan to Import Build.

Step 5: Edit the Deployment Plan

As noted above, we already have a plan assigned to our pipeline stages called Deploy Accounts; we'll now edit that plan.

Click Plans > Click Deploy Accounts

BuildMaster has automatically created a simple deployment plan by default. The plan doesn't do much, but we can edit it so that it will deploy the artifact that we'll import through the pipeline.

Edit the General Block at the top with a short description of what the plan will do, and set a server for the plan to be run on. Note that you can also target environments and servers to execute operations on from the pipeline stage, but for this tutorial, we'll just set it here.

The other two actions in the plan can be deleted.

Next, drag a Deploy Artifact operation into the edited General Block. Set the Artifact name to Websites, and the Target directory to C:\Websites\$EnvironmentName\Accounts. Using $EnvironmentName will create a new folder for each environment that the application is deployed to, and demonstrates one way to generalize a deployment plan for use in multiple environments.

Step 6: Creating a Release and Deploying

We can now create a Release that deploys the build artifact we created with a release package. The release number can be anything, but defaults to 0.0.0.

Click Releases > Click Create Release

Once the release is created, you can now create a package, which will use the import plan we defined.

Click Create Package > Click Create Package

BuildMaster will now run the Import Plan we created to queue a VSO Build and then Import the artifact to BuildMaster.

We can see that there has been an artifact created called Websites, and the Variable $TFSBuildNumber has incremented by 1 from the first screenshot.

You can now run the artifact through the rest of the pipeline simply by clicking [Deploy] in each successive stage. Of course, you can also configure gates, listeners, permissions to ensure that a proper process is followed.

You can further verify that the deployment was successful by checking the drive used when setting up the deployment plan. There will be three folders under /Websites -one for Integration, Testing, and Production- all with the deployed files.

5.6.1

1/18/2017

No notes for this release

Download (requires BuildMaster 5.6.0 or newer)

5.6.0

11/18/2016

No notes for this release

Download (requires BuildMaster 5.6.0 or newer)

5.4.2

10/25/2016
  • 20 - FIX: Get-Labeled may not return code from proper label

Download (requires BuildMaster 5.4.0 or newer)

5.4.1

10/19/2016
  • 19 - Use remote method invocation to support remote agents for TFS Source Control Provider

Download (requires BuildMaster 5.4.0 or newer)

5.4.0

9/30/2016

No notes for this release

Download (requires BuildMaster 5.4.0 or newer)

5.2.0

7/11/2016

No notes for this release

Download (requires BuildMaster 5.2.0 or newer)

5.1.0

6/17/2016

No notes for this release

Download (requires BuildMaster 5.1.0 or newer)

5.0.1

5/27/2016

No notes for this release

Download (requires BuildMaster 5.0.4 or newer)

5.0.0

4/29/2016

No notes for this release

Download (requires BuildMaster 5.0.0 or newer)

4.10

3/1/2016
  • 17 - Authentication with Visual Studio Online fails if credentials are not cached previously through an instance of Visual Studio
  • 13 - Add option to specify directory for LocalWorkspace
  • 18 - TFS REST API: InvalidCastException from 'System.Net.FileWebRequest' to 'System.Net.HttpWebRequest'

Download (requires BuildMaster 4.9.5 or newer)

4.9

2/29/2016
  • 16 - TFS 2015 on-prem authentication and GetBuilds changes..

Download (requires BuildMaster 4.9.5 or newer)

4.8

2/9/2016
  • 14 - Add Support for VSO/15 BuildImports

Download (requires BuildMaster 4.9.5 or newer)

4.7

1/5/2016
  • 12 - BuildMaster 4.9 Compatibility, issue types
  • 8 - Update TfsSourceControlProvider.cs
  • 11 - Upgrade TFS Build client from 11.0

Download (requires BuildMaster 4.9.5 or newer)

4.6

6/9/2015

No notes for this release

Download (requires BuildMaster 4.7.0 or newer)

4.5

6/2/2015

No notes for this release

Download (requires BuildMaster 4.7.0 or newer)

4.4

12/29/2014
  • 6 - Improve description text, and order build definitions alphabetically

Download (requires BuildMaster 4.4.1 or newer)

4.3

10/23/2014

No notes for this release

Download (requires BuildMaster 4.4.1 or newer)

4.2

10/16/2014

No notes for this release

Download (requires BuildMaster 4.4.1 or newer)

4.1

9/3/2014

No notes for this release

Download (requires BuildMaster 4.4.1 or newer)

4.0

8/8/2014

No notes for this release

Download (requires BuildMaster 4.4.1 or newer)

If your installation of BuildMaster can access inedo.com, simply navigate to Admin > Extensions, and install or update extensions from the gallery.

You can also manually install the extension.

  1. Copy the extension file (TFS.bmx) to the Extension Library path (by default, this is c:\BuildMaster\Extensions).
  2. Restart the BuildMaster Service (Admin > Service).
  3. Restart the BuildMaster Web Application (Admin > All Settings > Save).
  4. Verify that the new extension has been loaded (Admin > Extensions)