Building a Continuous Delivery Pipeline with TFS and Visual Studio 2015

Continuous delivery is the logical evolution of agile. In this course, you'll learn how you can make the concepts of continuous delivery come true in a practical way using Visual Studio, TFS/VSTS, Release Management, Docker, and Application Insights.
Course info
Rating
(68)
Level
Beginner
Updated
Nov 23, 2016
Duration
6h 29m
Table of contents
An Introduction to Continuous Delivery
Source Control
Feature Toggles, Package Management, and Versioning
Configuring Your Builds with Visual Studio 2015 and TFS 2015
Testing Applications with Visual Studio 2015 and TFS 2015
Releasing Applications with TFS 2015 Release Management
Using Docker on Windows
Pipeline Optimization by Applying DevOps, Application Insights, Sonar Qube, and VSTS
Description
Course info
Rating
(68)
Level
Beginner
Updated
Nov 23, 2016
Duration
6h 29m
Description

Continuous delivery and all its parts need to be aligned in order to make it happen. This course, Building a Continuous Delivery Pipeline with TFS and Visual Studio 2015, covers how you implement continuous delivery using Microsoft ALM tools version 2015. First, you'll explore the concepts of what continuous delivery is and how you can implement this using the Visual studio and TFS/VSTS 2015 tools. Next, you'll learn about the feedback of testing, where you'll take a look at different ways you can test a product and provide direct feedback on the product quality. You'll go beyond the traditional test approach and have a look at new and innovative ways of testing your system. Finally, you'll wrap up the course by learning how you can keep an eye on the maintainability of your source code. By the end of this course, you'll be able to proficiently use TFS and Visual Studio to build an effective continuous delivery pipeline.

About the author
About the author

Marcel is the co-founder and CTO of Xpirit, a high-end consulting firm based in Hilversum, Netherlands. Helping organizations transform towards a high speed, innovative, and productive organization is his passion.

More from the author
More courses by Marcel de Vries
Section Introduction Transcripts
Section Introduction Transcripts

An Introduction to Continuous Delivery
Welcome to this Pluralsight course, Building a Continuous Delivery Pipeline with TFS and Visual Studio 2015. My name is Marcel de Vries, and I will be your instructor for this course. Let's get started right away, and have a look at what you will learn in this course. This course will provide you with practical guidance how to implement continuous delivery with the Microsoft toolset. You can apply this to your product development team, and also to multiple projects in your organization. I emphasize practical, since it's based on my real-life work I do at organizations in my job as ALM consultant, so I won't bore you to death with all kinds of theory that's impossible to implement and practice. Everything you hear in this course will be based on real-life experiences, and a practical approach to achieve the goals of continuous delivery. I will show you how to do all of this with the use of Visual Studio 2015, and the ALM tools. These ALM tools are Visual Studio Team Services in the cloud, or Team Foundation Server on-premises. In the course I will use the cloud-based versions of this product, since it saves you from all the maintenance you need to take care of when you use the on-premise product. All the features I use in this course are available in both the cloud-based and on-premise version, so you can rest assured that all you hear will be applicable in any organization using these tools. By taking this course, you will learn how you can optimize your software delivery process in your product, or in your organization. After you complete this course, you will know how you can implement the software delivery process where you won't have stress anymore in delivering software into production. You will learn how to ensure your software keeps running when you deploy to production, and how to implement safeguards that prevent disaster in deployments. When you implement everything I show you in this course, you will enable your team and your organization to deliver software at the moment you want, that will all result in your customers getting high-value software delivered fast.

Source Control
With continuous delivery, we need to ensure a process that's repeatable and automated. In order to make things repeatable, we need to get rid of any factors that we don't control, for example, dependencies we might have during builds, or certain machine setups like locales and language settings. But before we go into those more arcane issues, we need to focus first on getting the fundamentals right. One of the fundamentals is that we always need to have a reproducible way of getting our sources before we can build our production artifacts. For this, there is one elegant, but also simple solution called a source control system, so we need to spend some time on how you set up your source control system in such a way that you enable the continuous delivery process, instead of frustrating it by using a complex source control setup that might have grown in your organization over the years. In this module, we will have a look at some options we have if it comes to source control solutions, and we will go through a solution that is helping many organizations today. So welcome back at this second module of the course, Building A Continuous Delivery Pipeline with TFS and Visual Studio 2015. This is the module, Source Control and Package Management. My name is Marcel de Vries, and I'm the Pluralsight author of this course. Please do not hesitate to reach out to me on Twitter, @marcelv, when you have any questions unanswered when taking this course. I will try to help you as soon as possible.

Feature Toggles, Package Management, and Versioning
Welcome back at the third module of the course, Building a Continuous Delivery Pipeline with TFS and Visual Studio 2015. This is the module Feature Toggles, Package Management, and Versioning. My name is Marcel de Vries, and I am the Pluralsight author of this course. Please do not hesitate to reach out to me at Twitter, @marcelv, when you still have questions unanswered when taking this course. I will try to help you as soon as possible.

Configuring Your Builds with Visual Studio 2015 and TFS 2015
We now have the fundamentals in place to get a repeatable process that we need to achieve continuous delivery. The next step is that we produce production artifacts that we can then test and publish to different environments we want to go through to get the right level of confidence, before we can publish to production. In this module, I want to show you how you can set up a so-called continuous integration build that will produce the production artifacts we need, so we can use those to move to the next phase, deploying on a test environment. For this we need a so-called build system, and for this we are going to use Team Foundation Services or Team Foundation Server as the build automation infrastructure. Welcome at the fourth module of the course, Building a Continuous Delivery Pipeline With TFS and Visual Studio 2015. This is the module, Configuring Your Builds with Visual Studio 2015 and TFS 2015. My name is Marcel de Vries, and I'm the Pluralsight author of this course. Please do not hesitate to reach out to me on Twitter, @marcelv, when you still have questions unanswered when taking this course. I will try to help you as soon as possible.

Testing Applications with Visual Studio 2015 and TFS 2015
By now we know the basic principles of continuous delivery. We know the things we need regarding source control, ad in the last module we set up the build infrastructure so we can build up production artifacts in a reliable and fully-automated way. But before we take the jump to deploy to production, we first need to gain confidence in the software we just built. Is it going to do the things we expect it to do? In this module, we will have a look at what we traditionally see if it comes to testing and getting this confidence, and the steps we need to take if we want to really go for continuous delivery. Welcome to the fifth module of the course, Building A Continuous Delivery Pipeline with TFS and Visual Studio 2015. This is the module, Testing Applications with Visual Studio 2015 and TFS 2015. My name is Marcel de Vries, and I'm the Pluralsight author of this course. Please do not hesitate to reach out to me on Twitter, @marcelv, when you have still questions unanswered when taking the course. I will try to help you as soon as possible.

Releasing Applications with TFS 2015 Release Management
Now we are at the final stages of getting the continuous delivery dream fully realized. Now we're going to fully automate the release of our software even into production with a stable, predictable, and repeatable, fully-automated process. Our build now has delivered the production artifacts we need for production. We have it validated for the most part during our build using fast-executing automated unit tests and integration tests. Now we need to automate the steps where we provision the environment and deploy the software. For this we're going to use release management features of TFS and Visual Studio Team Foundation Services 2015. Welcome to the sixth module of the course, Building A Continuous Delivery Pipeline With TFS and Visual Studio 2015. This is the module, Releasing Applications with TFS 2015 Release Management. My name is Marcel de Vries, and I'm the Pluralsight author of this course. Please do not hesitate to reach out to me on Twitter, @marcelv, when you still have questions unanswered when taking this course. I will try to help you as soon as possible.

Using Docker on Windows
After we have deployed our application to a normal machine, I want to take the opportunity to introduce you to a new way of deploying software. For this I will introduce you to the concept of containers. We will look at the advantages of what containers have to offer, and what we will revisit in our strategy and change the build and release process to use containerized deployments for even better deployments. And finally, we'll have a look at the end-to-end process of the build and release pipeline set up with TFS and VSTS using containers. By the end of this module, you should be able to deploy your application to any environment inside your organization or in the cloud using either Infrastructure as a Service or Platform as a Service, or even containers. Welcome to the seventh module of this course, Building a Continuous Delivery Pipeline with TFS and Visual Studio 2015. This is the module, Using Docker on Windows. My name is Marcel de Vries, and I am the Pluralsight author of this course. Please do not hesitate to reach out to me on Twitter, @marcelv, when you still have questions unanswered when taking this course. I will, of course, try to help you as soon as possible.

Pipeline Optimization by Applying DevOps, Application Insights, Sonar Qube, and VSTS
After completing all the previous modules you should now be able to implement Continuous Delivery in your organization if you look of course at the technical challenges you'll face. In this course we have not discussed all the organizational changes you will face since it's very hard to train you on how to also implement an organizational change. When you want to move the Continuous Delivery, then you will notice after a while you will be faced with a delivery pipeline where the interactions with, for example the i2 Operations Organization becomes a bottleneck in your pipeline. As we have discussed in the first chapter, we only should optimize bottlenecks since anything else will not really contribute to more flow of value. In this module I want to show you what the next steps are if you have basic Continuous Delivery in place, and now want to optimize the operations part of the delivery cycle. We will do this by looking at the relationship between DevOps and Continuous Delivery, and how you can use technologies like Microsoft Application Insights, to help you support DevOps and minimal viable products as a means to become more efficient in your delivery. Welcome to the eighth and final module of building Continuous Delivery pipelines with TFS and Visual Studio 2015. This is the module, Pipeline Optimization. By applying DevOps, Application Insights, SonarQube and VSTS. My name is Marcel de Vries and I'm the Pluralsight author of this course. Please do not hesitate to reach out to me on Twitter @Marcelv when you still have questions unanswered in taking this course. I will try to help you as soon as possible.