Last week I had an encore presentation of Octopus Deploy to the Chicago ALM Users Group. It was a good crowd who asked a lot of good questions and seemed sincerely interested in Octopus Deploy and what value it could deliver for them. My slides ran long as I’ve found out that I really re-iterate too many points repeatedly throughout the topic, but as one audience member pointed out, my presentation was really addressing NuGet and Octopus Deploy. It didn’t occur to me at the time but he was right; I spent a fair amount of time covering NuGet and Octopus. Unfortunately my demo did not go as smoothly as I had hoped. Initially I thought I had a good excuse for this demo fail.
My previous demos were using VMs on my MSDN developer Azure account which gives $50/mo. in usage. For each presentation I gave, I’d burn about $75 total for the month forcing me to pony up the remaining $25. Keep in mind I do have other VMs and websites running under this account as well so the price is fair, but my usage gets excessive in doing a demo even for a few hours and the prep time. I had removed my previous VMs (3 in all) from my MSDN account about a month ago and the night before the demo, I had completely forgotten to provision the VMs again.
This time, using my BizSpark account, I spun up 3 VMs, one for Octopus and two for web servers. I used a Windows 8.1 Enterprise VMWare image with Visual Studio 2014 CTP to do the build with OctoPack on Visual Studio Online. I initially thought the culprit was VS 2014 CTP as I had barely used it before. In looking into the generated NuGet packages, everything appeared to be in place. My deployments worked just fine in deploying code from myget.org to my VMs however IIS would constantly return a 403.14 Forbidden errors page. After numerous repeated attempts I had to give in but this was the first time I had a failed demo. Today upon inspecting the damage, I figured out what the problem was: I didn’t install IIS correctly to work with the demo application.
Once I added the correct components for IIS, my site was working as expected. Now WebSockets were not actually necessary, but ASP.NET 4.5 was a requirement I completely missed. *Facepalm*
What did I learn?
- Don’t wait the night before to provision your VMs
- Make sure you install IIS correctly
- Test your demo beforehand!