[UPDATE: 28th Nov 2017] Continuous Delivery Tools for Visual Studio now supports TFVC. You can configure continuous delivery for TFVC or Git repositories in a VSTS team project. Check out this blog post (http://aka.ms/cd4vsblog9)
DevOps is all about getting your applications into customers’ hands quickly. The Continuous Delivery Tools for Visual Studio is a new extension for Visual Studio 2017 that brings DevOps capabilities to the IDE. You can use the extension to setup an automated build, test, and release pipeline on Visual Studio Team Services, for an ASP.NET 4 and ASP.NET Core application targeting Azure. You can then monitor your pipeline with notifications in the IDE that alert you to build failures on any CI run. The extension helps quickly setup a dev or test environment that builds, tests and deploys your app on every Git Push. In this post, I’ll cover some key features and walk you through configuration to get you started. You can find more details on the ASP.NET blog and ALM blog.
Configuring a continuous delivery pipeline for ASP.NET 4 and ASP.NET Core projects
To get started your project needs to live in a Git repo. The Add to Source Control button in the status bar will setup a repo for you and push it up to your remote repo. Then, right click on your ASP.NET project in Solution Explorer, or click on the Remote Server status icon on the status bar, and select “Configure Continuous Delivery…”. This will start to setup Build and Release definitions on Team Services that automatically builds, tests, and deploys your ASP.NET project to an Azure App Service or an Azure Container Service.
The Configure Continuous Delivery dialog lets you pick a branch from the repository to deployto a target App service. When you click OK, the extension creates build and release definitions on Team Services (this can take a couple of minutes), and then kicks off the first build and deployment automatically. From this point onward, Team Services will trigger a new build and deployment whenever you push changes up to the repository.
As your project matures you can add custom tasks to automate other parts of your release pipeline, enforce required policies, setup new deployment targets, or integrate one of the many third-party services available. Learn more about setting up Continuous Integrations on Visual Studio Team Services.
Failure notifications for any CI run on Visual Studio Team Services
Things move fast when you have an automated DevOps pipeline, so it’s important to have full transparency into the process. The latest build status and notifications for failed builds and tests failures appear in the new status bar icon. Notifications only appear for failures on the definition you are monitoring so you will not get flooded with messages for definitions you aren’t currently monitoring.
To change the build definition that you are monitoring, click Build Definition for Notifications menu item on the status bar icon.
Microsoft DevLabs Extensions
This extension is a Microsoft DevLabs extension which is an outlet for experiments from Microsoft that represent some of the latest ideas around developer tools. They are designed for broad use, feedback, and quick iteration, but it’s important to note DevLabs extensions are not supported and there is no commitment they’ll ever make it big and ship in the product.
It’s all about feedback…
We think there’s a lot we can do in the IDE to help teams collaborate and ship high quality code faster. In the spirit of being agile we want to ship fast, try out new ideas, improve the ones that work and pivot on the ones that don’t. Over the next few days, weeks, and months we’ll update the extension with new fixes and features. Your feedback is essential to this process. Join our slack channel or ping us at VSDevOps@microsoft.com.
|Ahmed Metwally, Senior PM, Visual Studio
Ahmed is a Program Manager on the Visual Studio Platform team focused on improving team collaboration and application lifecycle management integration.