Pseudo-environments

I have a situation where I need to deploy twice to the same machine, to two different folders, ports, etc. Although I didn’t fully understand the post at http://help.octopusdeploy.com/discussions/questions/33-multiple-tentacles-on-a-single-machine, one thing I did get is that you can’t have multiple tentacles installed on the same machine. (If this has changed with newer versions–I’m using the latest–please let me know!) That being the case, is there any other way of faking out the Octopus server, whether via machines, roles, environments, or what not, into seeing 2 different locations on the same machine? If that would be the case, all I’d need to do then would be to create different variables for each location, specifying the right paths, etc.

Thanks,

Hi,

Thanks for getting in touch!

You most certainly can run more than 1 Tentacle instance on a server, you just need to name the instances differently (by default the instance name in Tentacle) when installing them and make sure they listen on different ports (default is 10933). In this scenario you can scope your variables to the machine or role.

Another option would be to put the one Tentacle in multiple environments and then deploy your application to these environments. In this scenario you can scope your variables to the environment.

Hope that helps!

Henrik

Thank you, Henrik.

Regarding your first method, “you just need to name the instances differently” are you talking about installing the tentacle under a different Windows service name, or the name under which it appears in the Octopus server?

Regarding the second option, suppose a machine is under two different environments with corresponding sets of variables. Then, I deploy to both environments in one release. Which variable set will win? Will it deploy twice to the same machine??

Thanks,

Hi,

When installing a Tentacle using the Octopus Tentacle Manager on the server, you have to specify a name for the Tentacle, this name has to be different from the default name of Tentacle.

If a machine is in two different environments and you deploy to both those environments in the same release then two deployments will be created, each deployment will get the values that are scoped to the environment that you’re deploying to. So, if you deploy to Test and QA in with one machine that is in both of those environments, then the deployment to Test will get the variable values that are scoped to Test and the deployment to QA will get the variable values that are scoped to QA.

Hope that helps!

Thank you and warm regards,
Henrik

Thanks,