build step instead of copying that config into every pipeline.
Depending on the module, a build produces a container image (pushed to ECR), a directory of static assets (uploaded to S3), or a Lambda zip package (uploaded to S3).
Builds only run through pipelines. There is no standalone build command or dashboard button.
You either add a
build step to a Ravion pipeline, or build in an external CI
system and hand Ravion the finished artifact at deploy time.Build config is part of the module config
You configure a module’s build the same way you configure everything else about it: through the module instance’s inputs, alongside its runtime config. There is no separate build file. For example, theweb-app module in a project config file sets its build inputs next to its port and health check:
Running a build
Add abuild step to your pipeline and point it at the module instance:
module_instanceaccepts a unique ID (mi_…),environment.module, orproject.environment.module.inputpasses build-time values the module accepts, such as a tag, branch, or commit. Check the module’s docs or schema (ravion module schema <module-type>) for what it takes.
Building something that isn’t a module? Use the standalone
build:image or build:static CI
steps, which take the full build config inline.Inspecting builds
A build is a pipeline step execution — there’s no separate build entity or command. Find it in the pipeline run:Feeding the artifact to a deploy
Every build step outputsbuild_ref — the canonical reference to the artifact it produced:
Pass it to the deploy step:
image_uri, image_digest, s3_bucket, s3_directory, s3_key, and more.
Building outside Ravion
You don’t have to build in Ravion at all. Module definitions typically include a prebuilt image or package option for teams that build in GitHub Actions, CircleCI, or another external system. For example,rvn-ecs-web supports these build_source values:
So with an external build, the flow is: your CI builds and pushes the image, then triggers the release with the artifact reference:
For module authors
How a definition declares its build config — builders (dockerfile, railpack), destinations, build inputs, and templating — is covered in the module definition schema.