Page 39 - MSDN Magazine, December 15, 2017
P. 39

Figure 1 The Loop of Continuous Delivery
achieve an automated and reliable deployment process that con- sistently confirms through integration, load and user acceptance testing, and continuously releases value to your end users. Figure 1 depicts the cycle.
CD promises to banish manual processes, time-consuming and error-prone handoffs, and unreliable releases that produce delays, cost overruns and avoidable end-user dissatisfaction.
Provisioning the Release Pipeline
A release pipeline is a collection of environments and workflows to support the activities of CI and CD. There are many products that can help you create a pipeline that supports rapid release cycles. I’ll start by shedding some light on a few tools from the Microsoft stack that create and execute a CI/CD pipeline on Visual Studio Team Services (VSTS).
VSTS is a Microsoft Azure Software-as-a-Service (SaaS) that enables teams to plan better, code together and ship faster. Program in any language, including the Microsoft .NET Framework, Java, Python, Ruby and Node.js. Develop on any OS, such as Linux, macOS and Windows. And deploy to any platform, such as Azure, Amazon Web Services (AWS), Linux, Mac, Docker, Android, iOS and Windows Phone.
The Visual Studio IDE can simplify the configuration of CI and CD using the Continuous Developer Tools (bit.ly/2ha7MtE) built into Visual Studio 2017 Update
3. Figure 2 shows how you can
configure, provision and deploy
your solution without leaving
Visual Studio.
created using VSTS in the “practical continuous delivery showcase” section. You can learn more about the CD capabilities in VSTS at the VSTS Release Management Web site (bit.ly/2zcSrNE). Also see how Bing uses CD (bit.ly/2A4m8Q5) and explore the experiences of the ALM | DevOps Rangers as they implement release pipelines for their community projects at bit.ly/2zckUWc).
Generator-team, written by Donovan Brown (bit.ly/2zclmDS) is a powerful open source Yeoman generator that demonstrates the use of the VSTS REST APIs. It creates a complete CI/CD pipeline in Team Foundation Server (TFS) or VSTS for Java, Node.js or ASP.NET, and allows you to deploy to Azure App Service, Docker to private host, Docker images in Azure App Service on Linux, and Azure Container Instances.
The Team PowerShell module, written by Donovan Brown (bit.ly/2gZfzHg) exposes portions of the REST API for VSTS and TFS. (You can learn more about the REST API at bit.ly/2h1CWjf.) It’s an interesting option from the Ops perspective. It’s written in pure PowerShell and can be used on macOS, Linux or Windows to connect to TFS or VSTS.
CD is the process to build, test, configure, deploy and confirm a feature change to production.
By the way, a preview of a new Common Language Infrastructure (CLI) for working with VSTS on Windows, Linux or macOS was recently shipped. It’s currently geared toward developer scenarios like creating pull requests and updating work items, but will support a richer set of capabilities over time. The new CLI will also make it easier to automate interactions with VSTS using scripts. To learn more, visit Get Started with VSTS and TFS at docs.microsoft.com/en-gb/vsts.
A Practical CD and Tooling Showcase
Let’s review a typical release pipeline created using VSTS, as illus- trated in Figure 4. If you prefer to create your own instance of
Azure Portal allows you to seamlessly manage the Azure envi- ronment and set up your release pipeline, as depicted in Figure 3.
VSTS enables you to ship more quickly, more frequently and with more confidence, while extending and customizing your release pipelines, and controlling your deployments with automatic and manual gates for approval work- flows. I’ll explore a release pipeline
Figure 2 Continuous Delivery Tools for Visual Studio
msdnmagazine.com
Dec. 15, 2017 / Connect(); Special Issue 35












































































   37   38   39   40   41