Using Linked ARM Templates with VSTS Release Management
If you've ever had to create a complex ARM template, you'll know it can be a royal pain. You've probably been tempted to split out your giant template into smaller templates that you can link to, only...
View ArticleUsing VSTS to Test Python Code (with Code Coverage)
I recently worked with a customer that had some containers running Python code. The code was written by data scientists and recently a dev had been hired to help the team get some real process in...
View ArticleUsing Chrome to Solve Identity Hell
This week at MVP summit, I showed some of my colleagues a trick that I use to manage identity hell. I have several accounts that I use to access VSTS and the Azure Portal: my own Microsoft Account...
View ArticleTip: Creating Task Groups with Azure Service Endpoint Parameters
I've been working on some pretty complicated infrastructure deployment pipelines using my release management tool of choice (of course): VSTS Release Management. In this particular scenario, we're...
View ArticleVSTS, One Team Project and Inverse Conway Maneuver
There are a lot of ALM MVPs that advocate the "One Team Project to Rule Them All" when it comes to Visual Studio Team Services (VSTS) and Team Foundation Server (TFS). I've been recommending it for a...
View ArticleAuditing VSTS Client Access IPs
Visual Studio Team Services (VSTS) is a cloud platform. That means it's publicly accessible from anywhere - at least, by default. However, Enterprises that are moving from TFS to VSTS may want to...
View ArticleManaging Credentials and Secrets in VSTS Release Management
Releases almost always require some kind of credentials - from service credentials to database usernames and passwords. There are a number of ways to manage credentials in VSTS release management. In...
View ArticleTerraform all the Things with VSTS
I've done a fair amount of ARM template authoring. It's not as bad as XML, but the JSON can get laborious. A number of my colleagues use Terraform templates and I was recently on a project that was...
View ArticleServerless Parallel Selenium Grid Testing with VSTS and Azure Container...
I've written before about Selenium testing (Parallel Testing in a Selenium Grid with VSTS and Running Selenium Tests in Docker using VSTS and Release Management). The problem with these solutions,...
View ArticlePimp Your Consoles on Windows
I spend a fair amount of time in consoles - specifically PowerShell and Bash (Windows Subsystem for Linux) on my Windows 10 machine. I also work with Git - a lot. So having a cool console that is Git...
View ArticleImplement an Azure DevOps Release Gate to ServiceNow
I'm currently doing some work with a customer that is integrating between ServiceNow and Azure DevOps (the artist formerly known as VSTS). I quickly spun up a development ServiceNow instance to play...
View ArticleModernizing Source Control - Migrating to Git
I remember when I first learned about Git circa 2012. I was skeptical - you can change history? What kind of source control system let you change history? However, it seemed to have huge momentum and...
View Article.NET Core Multi-Stage Dockerfile with Test and Code Coverage in Azure Pipelines
I read a great blogpost recently by my friend and fellow MVP Jakob Ehn. In this post he outlines how he created a multi-stage Dockerfile to run .NET Core tests. I've always been on the fence about...
View ArticleLessons about DevOps from 3D Printing
It's no surprise that I'm passionate about DevOps. I think that has to do with my personality - my top five StrengthsFinder strengths are Strategic, Ideation, Learner, Activator, Achiever. I love the...
View ArticleContainer DevOps: Beyond Build (Part 1)
I've written before that I think that containers - and Kubernetes (k8s) - are the way of the future. I was fortunate enough to attend my first KubeCon last year in Seattle, and I was happy to see the...
View ArticleContainer DevOps Beyond Build: Part 2 - Traefik
Series:Part 1: IntroPart 2: Traefik (this post)In Part 1 of this series, I outlined some of my goals and some of the thinking around what I think Container DevOps is - it's far more than just being...
View ArticleContainer DevOps: Beyond Build (Part 3) - Canary Testing
Series:Part 1: IntroPart 2: Traefik BasicsPart 3: Canary Testing (this post)In my previous post I compared Istio, Linkerd and Traefik and motivated why I preferred Traefik for Container DevOps. I...
View ArticleContainer DevOps: Beyond Build (Part 4) - Telemetry with Prometheus
Series:Part 1: IntroPart 2: Traefik BasicsPart 3: Canary TestingPart 4: Telemetry with Prometheus (this post)In my previous post in this series I wrote about how I used Traefik to do traffic shifting...
View ArticleContainer DevOps: Beyond Build (Part 5) - Prometheus Operator
Series:Part 1: IntroPart 2: Traefik BasicsPart 3: Canary TestingPart 4: Telemetry with PrometheusPart 5: Prometheus Operator (this post)In part 4 of this series I showed how I created a metrics...
View ArticleEnterprise GitHub
Since Microsoft acquired GitHub, and the anti-Microsoft folks had calmed down, there have been a number of interesting developments in the GitHub ecosystem. If you’ve ever read one of my blogs or...
View ArticleAzure DevOps Build and Test Reports using OData and REST in PowerBI
I have been playing with the Azure DevOps OData service recently to start creating some reports. Most of my fiddling has been with the Work Item and Work Item Board Snaphot entities, but I recently...
View ArticleAzure Pipeline Variables
I am a big fan of Azure Pipelines. Yes it’s YAML, but once you get over that it’s a fantastic way to represent pipelines as code. It would be tough to achieve any sort of sophistication in your...
View ArticleExecuting JMeter Tests in an Azure Pipeline
Microsoft have deprecated Load Testing in Visual Studio. Along with this, they have also deprecated the cloud load testing capability in Azure/Azure DevOps. On the official alternatives document,...
View ArticleAzure Pipeline Parameters
In a previous post, I did a deep dive into Azure Pipeline variables. That post turned out to be longer than I anticipated, so I left off the topic of parameters until this post.Type: AnyIf we look at...
View ArticleChatOps with GitHub Actions and Azure Web Apps
Over this weekend, I ported a task from Azure Pipelines to GitHub Actions. It was a fun project, and while I was busy I realized that I could now do some ChatOps. I decided to create a quick video...
View Article