Octopus "Child step failed" in a rolling deployment in CI
A child step inside a parent (often a rolling deployment across a set of targets) failed on at least one machine. The parent step aggregates its children, so a single failed child fails the parent and the deployment.
What this error means
The task log shows "Child step 'Deploy to web-02' failed" nested under a rolling parent step, while other targets in the batch may have succeeded.
Rolling deployment to Production (window size 1)...
Child step 'Deploy Web to web-02.internal' failed.Common causes
The step failed on one target in the batch
The child ran per target; one machine had a script error, a missing file, or an unhealthy service, which fails that child and the parent.
A target-specific variable or condition was wrong
A variable scoped to one machine or role was missing or wrong, so the step succeeded elsewhere but failed on that target.
How to fix it
Identify which target the child failed on
- Expand the parent step in the task log to see per-target children.
- Open the failed child and read its target-specific error.
- Fix the script or variable for that target and re-deploy.
Verify target-scoped variables
Confirm any variable scoped to the failing machine or role is defined and correct, so the child step has what it needs on that target.
How to prevent it
- Keep deployment steps idempotent so a re-run of one target is safe.
- Define target-scoped variables for every machine and role in the batch.
- Use a small rolling window so a failure is isolated and easy to trace.