Immutability is key to package management

Since the beginning of its existence, Azure Artifacts has taken a firm stance on the immutability of the packages we store. We get a lot of questions about that stance, esp. from engineers newer to package and artifact management.

The 409 Conflict error is a common way engineers discover the immutability requirements of Azure Artifacts.

In this post, I’ll provide some history and stories from within Microsoft that led us to take such a firm stance, cover how you can avoid the issues we ran into, and talk about some of the options we’ve considered to enable new workflows that are today blocked by the immutability guarantee.

Continue reading “Immutability is key to package management”

Versioning and releasing NuGet packages

The VSTS Package Management team gets a fair amount of questions about the process of versioning, testing, and releasing NuGet packages, especially in the context of continuous integration builds that frequently produce new packages. We have several features that can help you create a CI/CD pipeline that produces, verifies, and releases packages. In this post, I’ll review some of the “obvious” solutions that turn out to be quite tricky and also details some recommended solutions.

Continue reading “Versioning and releasing NuGet packages”