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.
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