DevOps Skills for Developers with Visual Studio and TFS 2017
Have you ever worked on a project that's impossible to develop and harder to deploy? In this course, you'll explore DevOps in the Microsoft world to deploy your projects faster and more reliably by creating an automated DevOps release pipeline.
What you'll learn
There's a huge divide between software that's developed and software that's delivered. DevOps helps you bridge that divide. It's a mindset plus a set of practices that focuses on automation, reliability, and optimizing the process of software delivery.
In this course, DevOps Skills for Developers with Visual Studio and TFS 2017, will show you how to use the tools and features of Visual Studio 2017 and Team Foundation Server 2017 to create an automated DevOps release pipeline for your applications.
First, you'll learn how to build and deploy applications written with ASP.NET, ASP.NET Core, Entity Framework, and Entity Framework Core.
Next, you'll explore how to think about and measure your DevOps practices, and your multi-environment deployments to on-premise data centers, Microsoft Azure, and Docker.
Finally, you'll discover how to utilize QA testing with TFS 2017, and automated UI testing using Selenium.
By the end of this course, you'll have the necessary skills and knowledge to set up your own automated DevOps release pipeline that will deploy your applications into either an on-premise data center or Microsoft Azure.
Table of contents
- Introduction 1m
- Why Version Control? 3m
- Two Types of Version Control in TFS 9m
- Git Basics 2m
- Demo: Git Basics 7m
- Demo: Git and Work Items 4m
- Demo: Git Get Latest 4m
- Demo: Handling Git Conflicts 6m
- Demo: Multiple Git Repos in TFS 3m
- Branching and Merging 3m
- Demo: Branching and Merging 5m
- Branching Risks 8m
- Demo: Code Reviews with Pull Requests 9m
- Summary 1m
- Introduction 1m
- Scrum and Kanban Overview 7m
- TFS Process Templates and Work Items 4m
- Demo: Kanban with TFS 5m
- Demo: Scrum Product Backlog with TFS 4m
- Demo: Forecasting and Velocity with TFS 4m
- Demo: Plan a Scrum Sprint with TFS 8m
- Demo: Run a Daily Scrum Meeting with TFS 7m
- Demo: Visualize Project Status with TFS Dashboards 3m
- Demo: Work Item Queries and Work Item Charts 3m
- Demo: Email Alerts Using Follow Work Item 3m
- Lead Time and Cycle Time with TFS and Excel, Part 1 5m
- Demo: Lead Time and Cycle Time with TFS and Excel, Part 2 11m
- Summary 1m
- Overview 1m
- Automated Builds in DevOps: Why Do I Care? 2m
- Separate Your Builds from Your Releases 7m
- Please, I'm Begging You, Deploy More Often 4m
- Demo: Create a Build for .NET Standard 9m
- Demo: Create a Build for .NET Core 5m
- Demo: Builds on Your TFS Dashboards 2m
- Demo: TFS Extensions in a Build 6m
- Installing the TFS Build and Release Agent 3m
- Demo: Configuring TFS Agent Capabilities 4m
- Summary 1m
- Introduction 1m
- Database Deployment Is Critical to DevOps 6m
- Database Deployment Options for DevOps 7m
- Demo: Entity Framework Migrations for .NET Framework 6m
- Demo: Entity Framework Migrations for .NET Core 7m
- Demo: SQL Server Data Tools (SSDT) 10m
- Demo: Schema Comparisons with SSDT 7m
- Demo: Lookup Data with SSDT 6m
- Demo: Command Line Deploys Using SSDT and SqlPackage.exe 5m
- Summary 2m
- Introduction 0m
- Typical Branching Structure and Deployments 6m
- How Version Control-based Releases Break 4m
- What Are Feature Flags? 9m
- Demo Part 1 of 4: Tour of the Application 2m
- Demo Part 2 of 4: IFeatureManager and the Database 4m
- Demo Part 3 of 4: ASP.NET and Feature Flags 3m
- Demo Part 4 of 4: ASP.NET Controllers and Feature Flags 4m
- Demo: Multiple Versions of a Feature Side-by-side 6m
- Demo: Private Beta Tests Using Feature Flags 4m
- Summary 1m
- Overview 8m
- Demo: Create a TFS Release Definition 8m
- Demo: Server Phases, Agent Phases, and Human Interaction 5m
- Demo: Running Release Actions in Parallel 5m
- Demo: Multiple Environments and Environment-specific Configs 4m
- Demo: Approvals for Environment Deployments 3m
- Demo: Rollback and Abandon a Failed Release 3m
- Summary 1m
- Overview 1m
- Demo Part 1 of 2: Deploy ASP.NET to IIS and SQL Server 12m
- Demo Part 2 of 2: Deploy to a QA Environment with an Approval 6m
- Demo Part 1 of 3: Deploy ASP.NET to Azure 3m
- Demo Part 2 of 3: Connect TFS Build to Your Azure Subscription 6m
- Demo Part 3 of 3: Deploy SSDT to Azure SQL Database 5m
- Summary 1m
- Introduction 0m
- Container and Docker Overview 8m
- How to Docker-ize Your Application 5m
- Demo Overview 1m
- Demo: Quick Tour of Docker and Running SQL Server in a Container 3m
- Demo: Use a Dockerfile to Create Your Own Docker Image 4m
- Demo: Create a Dockerfile for an ASP.NET Core Application 5m
- Demo: Using Docker Compose to Describe Services 7m
- My Docker Lessons Learned (The Hard Way) 6m
- Demo: Build and Run Docker Images from a TFS Build 7m
- Summary 1m
- Introduction 1m
- QA Testing and DevOps (a.k.a Traditional QA Is Broken) 4m
- The Testing Pyramid 1m
- Common Testing Mistakes of Agile/scrum Teams 1m
- Getting Started with 'New QA' 3m
- A Testing Tip for Agile/scrum Teams 1m
- Team Foundation Server and QA Testing 2m
- Demo: Create a Test Plan in TFS 3m
- Demo: Create Test Cases in TFS 4m
- Demo: Run Test Cases with the Chrome Extension 6m
- Demo: View the Results of a Previous Test Run 2m
- Demo: Run a Test Case and Create a Bug 3m
- Demo: Create/Manage TFS Test Configurations 3m
- Demo: Assign Test Cases to Testers 2m
- Demo: Exploratory Testing with the Chrome Extension 4m
- User Interface Automation Tests 8m
- Demo: Getting Started with Selenium and PhantomJS 6m
- Demo: Run Selenium Tests from a TFS Build using PhantomJS 8m
- Summary 1m
Course FAQ
"DevOps" is derived from combining "development" and "operations" into one discipline. It bridges the gap between developing software, and delivering it. DevOps is comprised of practices to improve automation, reliability, and optimization of software delivery.
You will learn:
- Tools & features of Visual Studio 2017
- Tools & features of Team Foundation Server (TFS) 2017
- How to create an automated DevOps release pipeline
- How to build and deploy applications
- DevOps best practices
- Multi-environment deployments
- QA testing with TFS 2017
- Automated UI testing through Selenium
- And more
This course will use Visual Studio 2017 and Team Foundation Server 2017, but most of the principles and concepts should apply to newer and older versions as well.
Before starting this course, you should know some of the basics of developing software with Visual Studio, and it wouldn't hurt to have some exposure to Scrum and project management, too.
Developers, teams, or companies who are trying to understand and/or improve their software delivery.