build
Posts about automated build.
2022

Runners, Runners - Everywhere!
Hosted runners for Actions are great - but there are some scenarios where you’ll need self-hosted runners, such as deploying to private networks. But how can you effectively manage your self-hosted runners? In this post I’ll cover some thoughts. Continue reading Runners, Runners - Everywhere!
2021

Consuming Environment Secrets in Reusable Workflows
One canonical use of reusable workflows is a reusable deployment job. While this is definitely possible with reusable workflows, it’s not easy to get it working. In this post I’ll show you how to do it. Continue reading Consuming Environment Secrets in Reusable Workflows

GitHub Actions: Authenticate to Azure Without a Secret using OIDC
Authenticating to Azure in GitHub Actions requires a secret for a Service Principal. However, at Universe, GitHub released a new OIDC-based authentication mechanism that eliminates the need for secrets in secure deployments. Continue reading GitHub Actions: Authenticate to Azure Without a Secret using OIDC

Enforcing Reusable Workflows for Standardization
Reusable workflows are great, but how do you ensure that teams are using your reusable workflows? In this post I show how you can structure repos, teams and environments to ensure standardization for your workflows. Continue reading Enforcing Reusable Workflows for Standardization

On Demand Ephemeral Self-Hosted Runners
Do you need to deploy to private VNets using GitHub Actions, but don’t want to have to keep self-hosted runners running all the time? In this post I show you how you can use Ephemeral Runners to create on-demand self-hosted runners. Continue reading On Demand Ephemeral Self-Hosted Runners

Musings on GitHub Actions Reusable Workflows
Newly released Reusable Workflows allows you to reuse workflows in your GitHub workflows. While this still has some limitations, it’s still better than copy/paste! Continue reading Musings on GitHub Actions Reusable Workflows

GitHub Composite Actions
Composite Actions now allow you to run other Actions, not just script steps. This is great for composability and maintainability, but there are some limitations that you should be aware of. Continue reading GitHub Composite Actions
2020

Azure Pipelines for Private AKS Clusters
Creating private AKS clusters is a good step in hardening your Azure Kubernetes clusters. In this post I walk through the steps you’ll need to follow to enable deployment to private AKS clusters. Continue reading Azure Pipelines for Private AKS Clusters

Azure Pipeline Parameters
In this post I dive into parameters for Azure Pipelines. Continue reading Azure Pipeline Parameters

Executing JMeter Tests in an Azure Pipeline
Visual Studio Load Testing tools have been deprecated, along with Cloud Load Testing. In this post I investigate how to use JMeter as a load testing alternative. Continue reading Executing JMeter Tests in an Azure Pipeline

Azure Pipeline Variables
In this post I take a deep dive into Azure Pipeline variables. Continue reading Azure Pipeline Variables
2019
2016

Managing Config for .NET Core Web App Deployments with Tokenizer and ReplaceTokens Tasks
Continue reading Managing Config for .NET Core Web App Deployments with Tokenizer and ReplaceTokens Tasks
End to End Walkthrough: Deploying Web Applications Using Team Build and Release Management
Continue reading End to End Walkthrough: Deploying Web Applications Using Team Build and Release Management
Running the New DotNet Core VSTS Agent in a Docker Container
Continue reading Running the New DotNet Core VSTS Agent in a Docker Container2015

Config Per Environment vs Tokenization in Release Management
Continue reading Config Per Environment vs Tokenization in Release Management
WebDeploy, Configs and Web Release Management
Continue reading WebDeploy, Configs and Web Release Management
Continuous Deployment with Docker and Build vNext
Continue reading Continuous Deployment with Docker and Build vNext
Developing a Custom Build vNext Task: Part 1
Continue reading Developing a Custom Build vNext Task: Part 1
Developing a Custom Build vNext Task: Part 2
Continue reading Developing a Custom Build vNext Task: Part 2
Build vNext and SonarQube Runner: Dynamic Version Script
Continue reading Build vNext and SonarQube Runner: Dynamic Version Script2014

Matching Binary Version to Build Number Version in TFS 2013 Builds
Continue reading Matching Binary Version to Build Number Version in TFS 2013 Builds
Branch Is Not Equal to Environment: CODE-PROD Branching Strategy
Continue reading Branch Is Not Equal to Environment: CODE-PROD Branching Strategy
Enabling JavaScript Code Coverage Link in Builds
Continue reading Enabling JavaScript Code Coverage Link in Builds2013

TFS 2013 Default Build – The GetEnvironmentVariable Activity
Continue reading TFS 2013 Default Build – The GetEnvironmentVariable
Fix: You Open TfcvTemplate.12.xaml and Don’t See Any Parameters
Continue reading Fix: You Open TfcvTemplate.12.xaml and Don’t See Any Parameters
Automated Builds–Why They’re Absolutely Essential (Part 2)
Continue reading Automated Builds–Why They’re Absolutely Essential (Part 2)2012

Extending Hybrid Lab Workflow Virtual Hosts
Continue reading Extending Hybrid Lab Workflow Virtual Hosts
Hybrid Lab Workflow: Standard Lab Environment with Snapshots
Continue reading Hybrid Lab Workflow: Standard Lab Environment with Snapshots2011

Default Team Build to Invoke Instead of Build
Continue reading Default Team Build to Invoke Instead of Build
Build-Deploy-Test Workflow for Physical Environments
Continue reading Build-Deploy-Test Workflow for Physical Environments