Every website in the deploy has a different AppPool and Website name; how to deal; no other differences

Greetings. I’m trying to setup a deploy process that targets 16 web sites each hosting an instance of the same application.

Websites and AppPools are named as such:

appServer1:

app10.site.com
app11.site.com
app12.site.com
app13.site.com

appServer2:

app20.site.com
app21.site.com
app22.site.com
app23.site.com

etc.
etc.

…with each website having a correspondingly named AppPool.

I am desperately trying to determine how to use a single Deploy NuGet Package step to target all of these websites/app pools using variables and a combination of powershell scripts if possible.

I’d like to have a single step where I can variable substitute the website and app pool names. As this is the only difference. I basically need the equivalent of being able to loop the nuget package step passing it a list of website and app pool names. I cannot simply use variables because I can only resolve to the machine level with variable scoping.

Create list of all Website and AppPool names, iterate them passing each value to a Step for execution. ForEach processing step for lack of better words.

I do have the ability to rename the AppPools if need be for a more consistent pattern, but I cannot change the website names

Any ideas would be greatly appreciated.

I think I can handle this using additional roles on my Machines which will then allow me to define the variables I need and reduce 16 steps into 1. I’m hoping.

Octopus is so powerful!

Hi Jesse

If I understand you right, you’re after a multi-tenant app. We’ve written up a couple of scenarios which may help here http://docs.octopusdeploy.com/display/OD/Multi-tenant+deployments

We do have something planned to help with this in the future too.

Regards

Damian

Yep using roles solved this for me easily.

I ended up adding a Role to each server that represents the website and app pool name and then set a variable based on the Role. works like a champ. one step to install the website to all 16 instances with varying website/apppool names. also took advantage of the Role to set the IP binding on the sites as well.