Reuse one pipeline for multiple environments
Steps reference the current variant with<< pipeline.variant.id >> and << pipeline.variant.name >> template expressions. Name your variant IDs after your environment given IDs, and one set of steps deploys to whichever environment the run targets:
production variant resolves module_instance to production.web-app; the staging variant resolves it to staging.web-app.
Hard-code input values per variant
A variant’sinput map locks specific pipeline inputs to fixed values. Locked values cannot be overridden by triggers or at run time — attempting to override one fails validation with variant_locked_override.
prod-builders execution environment, no matter how the run is started.
Input values resolve with this precedence:
- Variant hard-coded
inputvalues - Values provided when the run starts — manually or from a trigger’s
runconfig - The input’s
default
Every key in a variant’s
input map must match a declared input under top-level inputs. If any
variant or trigger provides input values, the pipeline must declare explicit inputs.Triggers select a variant
A trigger’srun map is keyed by variant ID, so one trigger can start runs for one or more variants — each with its own input values:
run must match a declared variant, and any required input without a default must be satisfied by the variant’s hard-coded values or the trigger’s run inputs.