Skip to main content
Ravion Pipelines are a full featured CI/CD system that runs in your cloud account. They are optional for you instead of using GitHub Actions or Circle CI. Regardless, you will need to have a pipeline somewhere to build your code, upload the artifacts to a store, and trigger a deployment of that in Ravion.

Two kinds of pipeline runs

Pipelines fill two roles in Ravion, and you’ll see both in your run history:
  1. Pipelines you author — build and deploy workflows triggered by git pushes, the API, or manually. These are the optional replacement for GitHub Actions described on this page.
  2. Stack pipelines — the change and destroy pipelines attached to every module stack, which run Terraform plan → approval → apply whenever a module’s infrastructure config changes or the module is deleted. By default these are Ravion-managed system pipelines; your platform team can substitute custom ones.
When other docs mention a “stack change pipeline run”, it’s the second kind: a normal pipeline run that was triggered by a config change instead of a git push.

One pipeline, many environments

A pipeline describes a workflow, not an environment. Don’t create a “Production pipeline” and a “Staging pipeline” — create one pipeline named after what it does, like Build & Deploy, and add a variant per environment. Steps reference module instances through << pipeline.variant.id >>, so the same steps deploy to whichever environment a run targets:

You might want to use Ravion pipelines for the following reasons:

1
You get a single pane of glass and CLI/API surface area to see all your builds, deploys, and infrastructure.
2
You get enhanced security and control because you no longer have to open up your database or image registries to GitHub Actions. Ravion pipelines execute entirely in your cloud account.
3
You can define all your build configuration in the module alongside your runtime config.
See Pipeline configuration for the detailed config schema.