Ken Muse
Defining an Infrastructure-as-Code Maturity Model
Like any other software lifecycle, infrastructure-as-code solutions can mature over time. But how do we know where we are in our maturity and the steps to take to improve? This post introduces a maturity model that you can use for infrastructure-as-code. It also explores how you can use composition and reusability to improve your solutions and make them more testable.

Read this article

Distributing .NET Dependencies and Settings With Packages
Since it’s the gift-giving season, it seems like the perfect time to wrap up the posts about how to distribute packages. More specifically, how to distribute dependencies and settings with NuGet packages.

Read this article

How to Test a .NET Package
Packages are code, too! Like any other code solution, it’s important to be able to test your work. In this post, you’ll learn how to test a custom .NET package that adds ZIP support to the build process.

Read this article

Distributing Custom .NET Tasks
In my last post, I showed you how to use MSBuild to automatically create a ZIP package for deployment in .NET. Now, I’ll show you how to automate distributing those changes to developers using a NuGet package.

Read this article

Creating a Zip Package in .NET
The process of compiling a .NET project and creating a ZIP file for deployment is often more complicated than it needs to be. Most CI/CD systems use a series of commands and external dependencies to build and package the project. This post shows how to use built-in functionality to simplify the process to a single call to dotnet publish.

Read this article