ravion pipeline config apply <pipeline-id> --file <file> — see Pipeline config file.
A pipeline describes a workflow, not an environment — name it after what it does, like Build & Deploy, and reuse it across environments with variants. Every example references module instances as << pipeline.variant.id >>.module-given-id, so with variant IDs that match your environment given IDs, the same steps deploy to whichever environment a run targets. Adjust module given IDs, repos, and AWS references to match your project. For every field and step type, see the configuration reference and step types.
Build and deploy
The simplest pipeline: build one module, then deploy it. Steps run sequentially in list order. The deploy pins the exact artifact by consuming the build’simage_digest output.
One pipeline serves both environments: running the staging variant deploys staging.web-app, and the production variant deploys production.web-app — no duplicate pipeline needed.
pipeline.yaml
The remaining examples declare a single variant for brevity. Add a variant per environment the
same way — the steps don’t change.
Parallel builds, then parallel deploys
Build two modules concurrently, and once both builds succeed, deploy both concurrently. Eachparallel block completes before the next step starts, so no deploy begins until both builds finish. The build block sets fail_strategy: finish-all, so if one build fails the other still runs to completion before the block fails — the default cancel-all would cancel it instead.
pipeline.yaml
Build and test in parallel, then deploy
Run the module build and acustom CI step side by side, then deploy only after both succeed. The test step runs your commands on provisioned compute selected by the infrastructure block — reference a pre-configured execution environment with execution_environment_id, or an AWS account and region as shown here. The runner starts as a bare instance, so use setup actions to install tools like Node.js before your commands run.
pipeline.yaml
One image build, two deploys
Build a Docker image once with abuild:image CI step, then deploy it to two module instances in parallel — for example, a web app and a worker that share the same image. The build pushes the image to ECR tagged with the commit input, and both deploys pin the exact pushed image by consuming the build’s image_digest output.
pipeline.yaml