What is the meaning of multiple roles assigned to a machine or a deployment step?

Hi guys,

Using Octopus has been a wonderful experience so far.
One of the things I find puzzling is that you can assign multiple roles to

  • a machine
  • a deployment step
  1. If a machine has 3 roles, will it be noted a deployment step complying to ANY of the roles or a step that has ALL of the roles?
  2. If a deployment step has 3 roles, will it deploy to machines which have ANY of the roles or to machines who have ALL those 3 roles?

Thanks in advance!

PS: A tooltip on what roles are for in the “Add/Edit machine” dialog and “Edit/Create step” form would also be greatly appreciated.


Hi Bobby,

When finding machines to include in a step, we perform an ‘OR’, and distinct the results. So for example if you have this step:

  • Step 1: Deploy package XYZ to roles: web-server, app-server

And you have these machines:

  • Machine 1: web-server
  • Machine 2: app-server, db-server
  • Machine 3: app-server, web-server

The step will apply to all three machines.

Hope that helps,


Thanks a lot for the details, Paul! :slight_smile:

I wasn’t a position to test it out myself so I had to ask.
Will definitely keep it in mind for our Octopus projects.

The tool is an awesome piece of work by the way and we already have 10+ projects on it. Really looking forward to Octopus 2.0! :slight_smile:

Thanks for the kind words!