Machine in different environments for different roles


Is it possible to set up a machine so it is part of different environments for different roles. For example, suppose I have the roles “server” and “testclient”. Can I put a machine in the environments “Staging” and “Production” for the role “testclient”, but just “Staging” for the role “server”.

Many thanks,


Hi Lawrence,

Thanks for getting in touch! The best way to handle this situation where you would like one machine to have two roles that are independently required on different environments is to setup a second instance of the Tentacle and define it for your second role/environment combination. It is still the same machine, but this allows this specific configuration not to share roles/environments.
There is some documentation on creating secondary instances you can find here:
PLEASE NOTE (it’s in caps, because its important ;)) If this is a polling tentacle, currently we have a bug when creating multiple instances. If this is the case, please let me know and I will guide you through the setup, as it becomes manual to get around the issue.

As always, hope this helps!!

do you still recommend the same thing ?
can we create a new machine in octopus that points to the same url (the tentacle url) and the same thumprint ?

deploying two instances on the physical machine for octopus sounds more a workaround.

thanks for your input

Hi Sebastien,

Thanks for getting in touch. This is a workaround for that scenario as roles are unique to machines and not machines and environments.
So to have different roles for different environments you would need to treat them as different machines if you did not want the roles shared.


Hello Vanessa
thanks for your post.

I understand we need two different machine in octopus but does it mean we have to install two instances of agents in the real machine. We created two machine in octopus Machine1.1 and Machine1.2 that use the same tentacle url and same thumbprint. For Machine1.1 set a role for an environment, and for machine1.2 set a different role to another environment.

Physically, we have only one server in our network named machine1. Octopus server allowed us to do it but i am not sure this is the right thing to do.


Hi Sebastien,

This is a good workaround, so long as you never have both machines in the same environment, as it will block deployments as you cannot deploy to machines with the same SQUID.
This is resolved for 3.0 however.


Hi Vanessa
Tanks a lot.