home > training > ALMBR18 – Build and Release Management Using TFS 2018

ALMBR18 – Build and Release Management Using TFS 2018


  • 2 Days

Interested in scheduling a date for this course?
Request A Date
  • This field is for validation purposes and should be left unchanged.

Course Description

This 2-day course focuses on building and releasing .NET applications using the capabilities of Team Foundation Server 2018.

This course has been designed for organizations who build and release applications within their organization rather than in the cloud. That said, a large part of the course is equally useful for cloud scenarios.

We’ll start with an overview of the Visual Studio product family and then work through configuring the team project we’ll be using. We’ll configure teams to better manage work, and then clone a Git repository containing the primary application we’ll be building and releasing.

The course covers planning, installing, and maintaining build environments and how to author build definitions for your applications. We’ll examine many of the configuration options to understand how to best configure the pipeline for your applications.

We then deep dive into Release Management and how you can release your applications to your on-premises infrastructure. The final two modules of the course examine how to run automated functional tests as part of your pipeline and how you can visualize the build and release status using dashboards.

If you are eager to learn how to implement DevOps practices designed to streamline your build and release processes using TFS, this is the course for you.

This course includes hands-on labs to reinforce practical skills and ensure you’re ready to use the tools upon your return to the workplace.


Module 1: A Lap Around the Microsoft Visual Studio Family

  • What’s new in TFS?
  • Overview of the Visual Studio family
  • Overview of product features
  • The need for centralized builds
  • The importance of release management

Module 2: Configuring Your Project in TFS

  • Creating and configuring a new team project
  • Configuring teams in TFS
  • Cloning a Git repository into your team project

Module 3: Configuring Your Build Environment

  • Understanding build infrastructure
  • Creating agent pools and queues
  • Installing and upgrading build agents
  • Specifying capabilities on your agents
  • Configuring security
  • Overview of non-Windows agents
  • Overview of hosted build infrastructure

Module 4: Automating Builds

  • Creating a new build definition
  • Understanding build templates
  • Common build tasks
  • Queuing a build

Module 5: A Closer Look at Build Attributes

  • Source repository options
  • Defining and using build variables
  • Running multiple concurrent builds
  • Configuring Continuous Integration (CI) and scheduled builds
  • Configuring build options
  • Build retention policies

Module 6: Customizing Your Build Process

  • Task versioning
  • Executing unit tests during our build
  • Examining test results from a build
  • Using tasks groups
  • Extending builds using scripts
  • Other helpful build tasks

Module 7: Other Build Features

  • Viewing build status
  • Using process parameters
  • Managing build definitions and using build folders
  • Task control options and conditional build tasks
  • Controlling build outputs and understanding artifacts
  • Packaging your .NET application

Module 8: Overview of Release Management

  • What is Release Management
  • Key concepts in Release Management
  • The current state of Release Management in TFS/VSTS
  • A quick look at licensing for Release Management

Module 9: Creating Automated Release Pipelines

  • Recap of Release Management
  • Understanding artifacts
  • Creating a release definition
  • Understanding environments
  • Common tasks in your release
  • Cloning environments.

Module 10: A Closer Look at Configuring Environments

  • Configuring your approval workflow
  • Defining custom variables for your environments
  • Using variable groups
  • Understanding pre-deployment conditions
  • Configuring the environment owner

Module 11: Defining a Release Workflow for On-Premises Servers

  • Overview of release tasks
  • Using the manual intervention task
  • Copying files and running scripts
  • Releasing a web application to an IIS server
  • Tracking our release

Module 12: Automating Functional and Performance Tests

  • Configuring infrastructure for test execution
  • Executing UI tests (Coded UI and Selenium tests)
  • Executing load and performance tests

Module 13: Creating Dashboards to Show Build and Release Status

  • Creating a Build and Release dashboard
  • Displaying build information on the dashboard
  • Displaying release information on the dashboard

This course is designed for DevOps engineers, .NET developers, TFS administrators, and build masters. It is a hands-on look at various technologies rather than a high-level management overview.


Attendees should be familiar with Visual Studio and the use of Team Foundation Server.

What You Will Learn

At the completion of this course, attendees will be able to:

  • Describe the current features in TFS focused on build and release management
  • Plan and configure a scalable build environment including pools and queues
  • Configure appropriate security on pools and queues
  • Author build definitions to suit most scenarios
  • Configure Continuous Integration (CI) builds as well as scheduled builds
  • Use existing build templates as well as create new build templates
  • Create customized build workflow using OOTB and third-party build steps
  • Automate the execution of tests as part of our build
  • Understand the features and capabilities of Release Management
  • Use Release Management to create and manage releases
  • Use Release Management to create environments
  • Manage configuration information in each environment
  • Deploy software to on-premises servers
  • Configure continuous release by triggering releases from builds
  • Create approval workflows and track releases across environments
  • Create an environment for the execution of functional tests including Coded UI and Selenium tests
  • Create dashboards to show current build and release status