Deploying an IIS Web *Application* and spec'ing Bindings

Seems like Octopus is only set up to deploy (IIS) Web Sites. Web Applications seem really rough. Our app is written as a Web Application, but the Web Application Octopus step doesn’t know anything about bindings.

So what I am finding I have to deploy an empty Web Site which just puts down what I want at the top level application where I set up the certificate binding, etc. This is going to be a pain because I have to figure out how to get my release of my project built using a version of another package which really doesn’t change much. By Default, it seems release 1.2.3.4 expects to find EmptyProject.1.2.3.4.zip in the library. Can I get it to always use EmptyProject.1.0.0.0 (or whatever the latest one is?)

After that, I need another step to deploy my main application using the Web Application Octopus step.

I tried using Website step only, installing the app in its “application” subdirectory, and using the “…” for the relative directory but that didn’t seem to work. Our app needs to be a full virtual app to leverage all the things that come with that.

I see there is a community “Create IIS Web Application”, but that still doesn’t manage any ssl bindings at the server level.

Is there a better way (without writing more powershell)?

Hi Jesse,

Sorry for the taking so long to reply, I must have missed this one!

Have checked out our Build your own tutorial page? It provides guides for most common use cases and while it may not be your exact configuration, it can provide helpful examples. Definitely worth checking out the “Deploy to IIS” step to see a common approach, with some helpful tips.

Otherwise some more general documentation for Deploying IIS Web Application might be more useful. From the linked documentation, you are correct that the “IIS Web Application step requires a parent Web Site to exist in IIS before it runs”.

In regards to the EmptyProject.1.2.3.4.zip issue as mentioned above, it looks like you are wanting to Dynamically Select Packages at Deployment Time which leverages variable substitution to achieve nearly any desired combination! This is a very powerful concept in Octopus which is definitely worth getting your head around!

If you still have any questions after checking out the documentation linked, I’d be more than happy to help. Apologies again for the slow reply!

Regards,
Finn