Next & Previous

Azure DevOps broke IIS deployments for a week

Quick note about how Microsoft deployed a broken version (0.216.0) of the IISWebAppDeploymentOnMachineGroup task to DevOps in prod, and it broke people’s* IIS deployments for about a week until a rollback version (0.217.0) could be deployed.

*Including mine!

This bug affects deployments of sites where there is a hyphen in the name (I guess the Microsofties test suite only covers…):

Error: Unrecognized argument 'Files\IIS\Microsoft'. All arguments must begin with "-".

Fortunately we first noticed this in a test environment, and by following some other folks’ notes, I documented a workaround which helped a few dozen people get on and deploy their thing.

The emoji reactions and positive comments were very gratifying! 😂

But more meaningfully, it occurs to me that it was always an option to figure out the workaround and not take the time to write it down and post it online, which would have been a loss for a lot of people, particularly “This trick saved my life in the middle of a deployment” guy.

For posterity:

My workaround

On the machine in the deployment group, I went to the IISWebAppDeploymentOnMachineGroup task directory, at: C:\azagent\A2\_work\_tasks\IISWebAppDeploymentOnMachineGroup_1b467810-6725-4b6d-accd-886174c09bba

I backed up the content of the 0.216.0 directory onto the desktop.

I deleted the content of the 0.216.0 directory

I copied the content of the 0.215.0 directory into 0.216.0

This prevents the build agent from trying to re-download 0.216, and when it uses 0.216, it gets the 0.215 implementation instead, because that’s what is in the folder now.

Hope it helps.

The teachable moment

If you figure something out, write it down!