Problem
It’s the last day of the sprint and your team are watching as you and your colleague are going balder and balder and balder. Your deployments are failing and you can’t tell why.
All Azure says in the diagnostic audit log is
New-AzureRmResourceGroupDeployment : 14:29:51 - Resource Microsoft.Web/sites/extensions 'xxx-xx-0-0-226/MSDeploy'
failed with message 'The resource operation completed with terminal provisioning state 'Failed'.'
Great. But what does that even mean? This is 2016, I don’t even have a terminal to provision!
Solution
The detailed deployment log may help:
- Find your Web site URL. It’ll be something like http://xxxx.azurewebsites.net.
- The Kudu entry point for this will be https//xxxx.scm.azurewebsites.net. Navigate there.
- Open the Debug Console: this is at e.g. https://xxxx.scm.azurewebsites.net/DebugConsole.
- Navigate to
d:\home\LogFiles
and drill down. Here you’ll find log files that will contain much more detailed information.
In my case I was using the MSDeploy extension to deploy, so the log file in question was in d:\home\LogFiles\SiteExtensions\MSDeploy\appManagerLog.xml
. It immediately showed that the package URI was incorrect.
I’ve written a lot more about Kudu here.