Parallel machines is a per-step window: a step finishes on every machine it targets before the next step starts. A rolling group is the other axis - several consecutive steps that one machine completes before the next machine starts any of them. The rolling deployments guide walks through the exact settings for a one-at-a-time rollout, a canary, and stopping when a machine fails.

One machine out of service at a time Canary first, by tag priority Grouping never changes a step's reach Machine-by-step rollout summary Three levels of failure control
01

One machine at a time, not one step at a time

Parallel machines is a per-step window: a step finishes on every machine it targets before the next step starts, whatever it is set to. So for the usual four actions - stop service, deploy package, start service, smoke test - step 1 stops every machine before step 2 deploys anything. Lowering parallel machines changes the rate, not the sequence, and machine order is resolved per step, so web01 leading step 1 says nothing about step 2.

A rolling group is several consecutive steps that one machine completes before the next machine starts any of them. web01 stops, deploys, starts and smoke-tests, and only then does web02 begin. The group's window size defaults to 1, because that is what a group is for.

Rolling steps                     Rolling group
stop     web01 web02 web03      web01  stop > deploy > start > smoke
deploy   web01 web02 web03      web02  stop > deploy > start > smoke
start    web01 web02 web03      web03  stop > deploy > start > smoke
smoke    web01 web02 web03
02

Canary first, and nothing widens a step's reach

Order machines by name, or by tag priority - a machine's rank is the index of the first tag it carries, and machines run in rank order and by machine name within a rank, with machines carrying none of the tags last. Turn on the barrier and every machine of one tag rank finishes before the next rank starts, so the canary goes alone all the way through the group before the fleet follows.

Members keep their own machine filters. A group's machine set is the union of the machines its members target, and on each machine only the members that target it run - the rest are recorded as not targeted. Group membership changes a rollout's structure, never a step's reach: environment scoping is untouched, and deployment-level machine include/exclude still applies ahead of everything else.

03

Know which machines are on which version

The deployment preview shows the resolved machine order, the window, the barrier, and machine by machine exactly which steps will run where. The log tree runs Group to Machine to Step, with machines not yet reached visibly queued rather than missing. Every rollout ends in a machine-by-step summary - written even when the rollout stops part-way, which is exactly when machines are left on mixed versions.

Read next: the rolling deployments guide for the settings behind each of these, Project Steps Explained for how steps target machines in the first place, and Projects and Deployment Logic for where the deployment process sits.

Rollout summary - rolling group 'web-rollout'
  Machine   stop-service   deploy-package   start-service   smoke-test
  web01     ok             ok               ok              ok
  web02     ok             failed           skipped         skipped
  web03     not run        not run          not run         not run