DevOps Using Visual Studio TFS 2015 Course Outline
This 3-day course aims to help you achieve some of the key goals of DevOps namely reducing friction, increasing velocity and increasing value to your customers. The course starts by introducing DevOps and the Visual Studio 2015 product family. We’ll look at how you can reduce lead time using the Agile planning tools in Visual Studio with still aligning with Enterprise goals.
Next we’ll look at how a number of features in Visual Studio 2015 including Code Clone Analysis, CodeLens and Code Maps can help you reduce technical debt and thereby help increase team productivity.
The course then looks closely at Continuous Integration (CI) using the new Team Build system introduced in the 2015 release. You’ll learn how to install and configure the Build infrastructure, create new Build Definitions as well as how you can customise your build workflows and create custom Build Tasks.
Following on from CI, we focus on Continuous Delivery (CD) and how we can automate the deployment of our applications to different servers in a reliable and repeatable manner. As part of this we look at Continuous Testing (CT) including the remote execution of automated tests including UI testing once we deploy our application.
The course then looks at the benefits of PowerShell and the use of Desired State Configuration (DSC) to configure the machines where you’ll deploy your application components. The final modules of the course look at Release Management for Visual Studio and Application Insights.
This course includes hands-on labs to reinforce practical skills and ensure you’re ready to use the tools on your return to your workplace.
Product and version compatibility
Team Foundation Server or Visual Studio Online The majority of this course is equally applicable for teams using either Visual Studio Online or an on-premises Team Foundation Server.
At the completion of this course, attendees will be able to;
describe the full feature-set of Microsoft’s Application Lifecycle Management suite
use the Agile Planning tools to maintain a prioritised flow of work to the team
identify the problems caused by technical debt
use some common features in Visual Studio to help reduce Technical Debt
configure a build environment based on the new build system introduced in the 2015 release
create a new build definition and configure Continuous Integration
custom build templates and create a custom build task
update the build definition to deploy an application to remote servers
automate the execution of tests on the newly deployed application
use PowerShell to create simple scripts to aid in the deployment and configuration of applications
use Desired State Configuration (DSC) to manage server configuration
create environments and release templates using Release Management
configure Application Insights to provide rich information about the availability, usage and performance of your application
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.
Attendees should be familiar with Visual Studio and the basic use of Team Foundation Server or Visual Studio Online.
Module 1 - Introducing DevOps and the Microsoft Visual Studio 2015 family
What is DevOps and why it is important?
Overview of the Visual Studio 2015 family
Overview of product features
Module 2 - Agile planning
Overview of Agile planning tools
Shortening lead time
Managing a prioritised flow of work to the team
Enabling agility in your teams
Module 3 - Focus on Technical Debt
Unit testing and code coverage
Identifying code clones
Understanding your application using Codemaps
Module 4 - Overview of Build automation
Understanding the new 2015 Build infrastructure
Create Agent pools and installing Build Agents
How to scale your build infrastructure
Overview of non-Windows Build Agents
Module 5 - Configuring Build automation
Creating new build definitions
Running tests as part of your build
Creating templates from your builds
Module 6 - Build customisation
A lap around the available build tasks
Extending builds using scripts
Creating your own custom build task
Module 7 - Deploying to a Test Environment
Packaging your application
Using Build Tasks to deploy your application components
Module 8 - Automating Test Execution
Configuring your servers for remote test execution
Executing UI tests on your remote machines
Analysing test results
Module 9 - Introduction to PowerShell
What is PowerShell?
How can PowerShell help in DevOps?
Writing a PowerShell script
Using the PowerShell ISE
Module 10 - PowerShell Desired State Configuration (DSC)
Introduction to Desired State Configuration
Understanding WinRM, DSC resources and the local configuration manager (LCM)
Installing the DSC resource kit
Using DSC to prepare your servers
Module 11 - Overview of Release Management
Release Management for Visual Studio 2015
Creating environments and releases
Configuring approval workflows
Module 12 - Continuous learning
The importance of application analytics
Enabling Application Insights in your applications
Monitoring your application availability
Examining usage to make better decisions
Troubleshooting made easy
View outline in Word