We currently have an application in the Default Web Site at the path /ourcompany/. If I try to deploy my OctoPack containing the web application to Default Web Site, then Default Web Site’s path is changed from C:\inetput\wwwroot to the configured Custom Install Directory. Not what we want. If I instead configure the Web Site name to be “Default Web Site\ourcompany”, then the deploy fails with the following errors from IISWebSite_BeforePostDeploy.ps1.
The Octopus “IIS Web Site” feature doesn’t support virtual directories at this point.
Manually setting up the VDIR in IIS (or scripting this with custom PowerShell) then using the alternative “IIS 6+ Home Directory” featureis the way to handle this.
Hope I’ve understood you correctly, let me know if you still have any trouble.
It’s a feature of Octopus. When editing a NuGet package step in Octopus, you can click “Configure features”, and there’s an option for IIS6+ home directory.
This is very frustrating. I don’t see that documented anywhere, virtual or application directories not supported. I wasted hours trying to get it to work.
Please support this in the near future as I’d have to imagine this is the most common way to install.
Same goes here Paul. We just upgraded our environment to Octopus 2.0 and with a lot of surprise we noticed that the IIS feature doesn’t understand the concept of Virtual Directory.
This is frustrating cause I have now tons of machines and 10 projects that need to be converted somehow in order to install properly even with Octopus 2.0.
We have two IIS conventions - one will create/update web sites and application pools. The other will update an existing web site OR virtual directory. This is the way Octopus 1.X worked, so things haven’t got worse - we just haven’t added VDir support to the new automatic site creation feature.
Hi Paul and thank you for your reply.
Yes you are right, if I use the IIS 6 functionality I can still deploy web
applications in virtual directories, the pity is that I loose the
flexibility of naming my own app pool.
A quick note here when setting up a process within the website name field use : #{OctopusWebSiteName}. This should be a variable and configured to reflect the virtual directory Default Web Site[Virtual Directory].