At the completion of this course, attendees will be able to:
- Describe the current features in TFS or VSTS 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
- Configure Continuous Integration (CI) builds as well as scheduled builds
- Use existing build templates as well as create new build templates
- Create custom build workflow using build steps
- Automate the execution of tests as part of our build
- Understand the features of the current version of Release Management for Visual Studio
- Use Release Management vNext to create and manage releases
- Use Release Management vNext to create environments
- Manage configuration information in each environment
- Deploy software to both on-premises servers as well as to Azure
- Configure Continuous Release by triggering releases from builds
- Create approval workflows and track releases across environments
Audience
This course is designed for .NET developers, TFS Administrators and Build masters. It is a hands-on look at various technologies rather than a high-level management overview.
Pre-requisites
Attendees should be familiar with Visual Studio and the basic use of Team Foundation Server or Visual Studio Team Services.
Modules
This course includes the following modules.
Module 1 – A lap around the Microsoft Visual Studio 2015 family
- Overview of the Visual Studio 2015 family
- Overview of product features
- The need for centralized builds
- The importance of release management
Module 2 – Configuring your Build environment
- Understanding the new 2015 Build infrastructure
- Creating Agent pools and queues
- Installing Build Agents
- Specifying capabilities on your Build Agents
- Configuring security
- Overview of non-Windows Build Agents
- Overview of hosted build infrastructure
Module 3 – Authoring our first build definition
- Creating a new build definition
- Understanding Build templates
- Selecting the solution to build
- Running tests as part of your build
- Queuing a build
Module 4 – A closer look at builds
- Selecting our source repository (TFVC/Git/GitHub/Subversion)
- Running multiple concurrent builds
- Working with Build variables
- Configuring Continuous Integration (CI) and scheduled builds
- Using Gated Check-ins
- Using demands to influence agent selection
- Build retention policies
Module 5 – Customizing your build process
- A lap around the available build tasks
- Using Build Tasks to deploy your application components
- Extending builds using scripts
Module 6 – Other build enhancements and features
- Viewing build status
- Controlling build outputs and understanding artifacts
- Packaging your .NET application
- Examining test results from a build
Module 7 - Overview of Release Management
- What is Release Management
- Key concepts in Release Management
- The current state of Release Management in TFS/VSTS
Module 8 - Release Management for Visual Studio 2015
- Release Management for Visual Studio 2015
- Creating environments and releases
- Configuring approval workflows
- Triggering and tracking releases
Module 9 - Release Management vNext
- Authoring a new release definition
- Linking your build definition to a release
- Determining what to deploy using artifacts
- Defining and using configuration variables
- Configuring Continuous Release
- Naming your release and using retention policies
Module 10 – Configuring environments
- Understanding environments
- Configuring your approval workflow
- Notifying approvers
- Selecting your deployment queue
- Defining custom variables for your environments
- Configuring the environment owner
- Understanding deployment conditions
- Cloning environments
Module 11 – Defining a release workflow for on-premises servers
- Overview of release tasks
- Copying files and running scripts
- Releasing a web application to an IIS server
- Executing tests as part of our on-premises release
- Tracking our release
Module 12 - Defining a release workflow for Azure
- Understanding Azure resources
- Understanding Service Endpoints
- Configuring endpoints for connecting to Azure
- Releasing an Azure Web Application
- Executing tests as part of our Azure release