Notes below from “Zero to DevOps” epic presentation by Donovan Brown showing what was behind the scenes: (note the first comment is about adding SSDT/SSIS as part of buildout, I would love this). This is a breakdown minute by minute of key points in his presentation – a little more detail than in my previous post on this. This pulls back the veil on the presentation he gave at PADNUG back in August of 2017 – showing there’s really no magic or months of tinkering happening behind the scenes.
- If you are using Visual Studio – First go to Tools, Extensions and Updates – select Continuous Delivery Tools for Visual Studio. This allows you to r-click on the project and select Configure Continuous Delivery.
- Create a new project in VSTS
- Right click in VSTS and add a new project – in this case an Azure Resource Group.
-
Here you choose from a template – choose Web App.
- Note all the cool template options. Docker host, Logic Apps, Linux VM’s – it’s all here. No need to reinvent the wheel!
- VSTS will now generate all the tooling you need to work in Azure.
- When this is done – check out website.json. These are all the resources you’ll need. On the left is how we’ll navigate. We can easily add or change parameters (see that json file) and destroy and recreate environments at will.
- R-click in Visual Studio and select Configure Continuous Delivery. You’ll need to know where you are going to deploy to. Note his release project names – BikeSharing360, BikeSharing360D, …P, and ….Q.
- 8:02 – Release definition – click on Releases tab. Template – click on browse, this is just the output – navigate window on the left. You can override the template parameters here and set it to a variable.
- ARM templates – your Ops team can be on this in generating templates for Infrastructure as Code. A resource group, inside of it is a web app. Click on it in the portal – Continuous Delivery. This is a lot more mature than just doing a Git repo push. (note the difference between onprem TFS and VSTS – VSTS is updated every 3 wks, TFS every 3 months.)
- 16:31 – YoTeam, Donovan’s pet project. It’s script based as Jez Humble seems to favor.
- 20:55 – Handles Grunt, Bower with aplomb. Donovan typically uses Node, Mocha, Signon, Istanbul. This gives him good code coverage. “If you can do it in a CLI, I can put it in your build pipeline. You can even wrap it and add it to the Extensions library for everyone to use.”
-
21:32 – Approval gates.
- “note I said – automate everything you can. That’s a big difference from ‘Automate everything!’
-
26:30 – Build agents – these can be installed behind your firewall. Code, resources never see the public internet – all behind the firewall.
- Stakeholder licensing – does not count against 5 free teammates. That combined with free licensing for MSDN subscribers makes VSTS deployments a steal.
- “No more ‘VSTS is in the cloud, it will only deploy to the cloud’ thinking”
- “No more “We’re not a Microsoft/.NET shop”, or “All or nothing” – you can fold in Jenkins or OctopusDeploy or whatever. Use us to pay the integration tax.”
Website resources:
- first official announcement
- Hub on Azure Deploy projects – https://docs.microsoft.com/en-us/vsts/deploy-azure/, and an Ignite overview on the topic.
- https://docs.microsoft.com/en-us/vsts/build-release/apps/cd/azure/aspnet-core-to-azure-webapp?tabs=vsts#create-webapp-portal
- https://docs.microsoft.com/en-us/vsts/build-release/actions/define-multistage-release-process?toc=/vsts/deploy-azure/toc.json&bc=/vsts/deploy-azure/breadcrumb/toc.json
Super cool, need to look into Auto Hotkey for my demos. Thanks Donovan!