Group applications into ordered stages such as Dev and Production, promote a tested build from one stage to the next without rebuilding, and add preview apps for pull requests.
A pipeline groups applications into ordered stages, such as Dev, Staging and Production, so a change moves through them in one direction. On a trunk-based pipeline you promote an application’s build to the next stage: each application there rolls out the same Docker image with its own settings, without rebuilding. A pipeline can also have a preview stage that creates a short-lived preview app for each pull request.
A pipeline holds stages, and each stage holds applications. An application belongs to one pipeline stage at most. Pipelines and stages cost nothing: you pay for the applications in them as for any other application.
Part
What it is
Stage
A column on the pipeline board, with any number of applications. A new pipeline starts with two stages, Dev and Production.
Release strategy
Trunk-based development or Git flow: decides whether changes move between stages by promotion.
Promotion
Rolls out the source application’s last successful build on the applications you pick in the next stage. Trunk-based pipelines only.
Preview stage
An optional first column with a preview app per pull request or branch. Turned on with Enable preview apps.
The first stage deploys from a branch (usually main). Later stages get changes only by promotion.
Yes, from each stage to the next one
Yes
Git flow
Each stage’s applications deploy from their own branch (for example dev, next, main) with automatic deployments.
No
No, only existing applications
On a Git flow pipeline the board shows where each branch is deployed; Sevalla doesn’t move code between stages. You can switch the release strategy at any time in pipeline settings. Switching changes nothing in the applications: it only shows or hides Promote.
In the sidebar, click Applications. Click Create, then click Pipeline. From a project, click Create pipeline on its Services tab instead.
2
Name the pipeline
In Name, keep the generated name (like brave-olive-tiger) or enter your own, such as storefront.
3
Choose a project
In Project, pick a project, or None (company level) to keep the pipeline outside projects. The field shows only when your company has projects. If your role applies to projects only, picking a project is required.
4
Choose the release strategy
Pick Trunk-based development (the default) or Git flow. See Release strategies.
5
Create it
Click Create pipeline.
Sevalla opens the new pipeline’s board with the stages Dev and Production and no applications. The pipeline also shows in the Applications list, with its applications under it.
The board is the pipeline’s page. To open it, click Applications in the sidebar, then click the pipeline.
Part
What it shows and does
Header
The name, the release strategy (Trunk-based or Git flow), the number of stages and applications, Add stage, and the Pipeline actions (⋯) menu: Pipeline settings, Enable preview apps or Preview app settings, Delete pipeline
Preview column
First on the board. Without preview apps, a card with Enable preview apps. See Preview apps.
Stage columns
Numbered, left to right. The ⋯ menu of a stage has Add app and Delete stage. An empty stage shows Add app.
Application card
The application’s name (opens it), status, primary domain, repository and branch (with a refresh icon when automatic deployments are on) or Docker image, and the last deployment: status, commit, time and author. Its ⋯ menu has Remove from stage.
Promote to button
Under each application of a trunk-based pipeline that has a next stage. See Promote changes.
On GitHub, every deployment of an application in a pipeline also shows as a GitHub deployment, in an environment named after its stage (for example Production). See GitHub.
On the pipeline board, click Add app in an empty stage, or open the stage’s ⋯ menu and click Add app.
2
Choose an existing or a new application
On a trunk-based pipeline, pick Existing app or New app. A Git flow pipeline takes existing applications only.
3
Pick or create the application
For Existing app, pick it in Application. The list holds every application of the company that isn’t in a pipeline yet. For New app, enter a Name and pick a Location (Sevalla preselects the one closest to you).
4
Add it
Click Add app to stage.
The application’s card appears in the stage. What happens to it:
Existing app: it moves to the pipeline’s project, or out of its project when the pipeline isn’t in one. Its source, settings and deployments don’t change.
New app: Sevalla creates an empty application with a default web process and no source. It runs nothing until the first promotion reaches it, which also sets its build strategy to the source’s. Its card says No source connected yet.
New app is locked without a valid payment method, unless the company has credits and no applications yet: the card says Add a payment method to create more applications.On a trunk-based pipeline, put an application that deploys from your repository in the first stage, and add new or existing applications to the later stages. Each application of a later stage can run in its own location with its own environment variables, processes, domains and scaling.
On the pipeline board, click Add stage in the header, or the dashed + tile after the last stage.
2
Name the stage
In Name, enter a name such as QA.
3
Place the stage
In Position, drag the new stage, or use its arrows, to put it between the others. It goes last unless you move it.
4
Create it
Click Create stage.
The new stage appears on the board at that position, empty. On a trunk-based pipeline, promotion now goes through it: the stage before it promotes to the new stage, and the new stage promotes to the next one.
Promoting takes the source application’s last successful deployment and rolls out its Docker image on applications of the next stage. Nothing is rebuilt, so each target runs exactly the build you tested. Promotion is available on trunk-based pipelines, from a stage to the stage right after it.
1
Open the Promote sheet
On the pipeline board, click Promote tonext stage under the application you tested, for example Promote to Production.
2
Choose the targets
Every application of the next stage is a target. To leave one out, click its ✕ (Don’t promote toapplication). At least one target stays.
3
Check the warnings and the diff
A warning icon on a target explains a risk: see Promotion warnings. Git diff opens the provider’s comparison between the target’s commit and the source’s.
4
Promote
Click Promote tostage.
Each target starts a deployment right away. On the target’s Deployments tab, its trigger reads Promoted from the source application, and its card on the board shows the promoted commit.
Set on a new empty application. Other targets keep theirs, but don’t rebuild.
The target keeps its own runtime environment variables, processes and resources, disks, domains, networking and location. Values your build step bakes into the image come from the source, because the target doesn’t rebuild: build-time environment variables of the target don’t apply. For a frontend that embeds variables at build time (for example NEXT_PUBLIC_* in Next.js), set those values the same way in every stage or read them at runtime.
Auto-deploy is on for this application, so its next push replaces the promoted image.
The target also deploys its own branch on every push. Turn off automatic deployments on targets that should only get promotions.
The source and target repositories are different.
The target is connected to another repository than the source.
This application deploys from a Git repository, the source from a Docker image.
The target’s source type differs from the source’s.
This application deploys from a Docker image, the source from a Git repository.
The target’s source type differs from the source’s.
Promotion fails with No successful deployment found for application "<id>" when the source has no successful deployment, and with The promoted image was deployed with a Docker registry credential that no longer exists. Redeploy "<application>" with a valid credential and promote again. when the source deployed a private image whose registry credential was deleted.
On the pipeline board, open Pipeline actions (⋯) and click Pipeline settings.
2
Change what you need
Update the Name (Pipeline name is required when empty), the Release strategy, or the Stage order: drag a stage, or use its arrows. Stage order shows when the pipeline has more than one stage. The preview stage always comes first and isn’t part of the order.
3
Save
Click Update pipeline.
The board shows the new name and order. Reordering changes where promotion goes: each stage promotes to the stage to its right.
On the pipeline board, open the ⋯ menu on the application’s card.
2
Remove it
Click Remove from stage, then click Remove app.
The application leaves the pipeline and keeps running, with its project, settings and deployments unchanged. You can add it to another stage or pipeline. To delete it, use its settings.
Click Delete stage, then click Delete stage in the dialog.
The stage disappears from the board and the stages after it move up. Its applications aren’t deleted: they leave the pipeline and keep running. The dialog lists them first. To turn off the preview stage, see Disable preview apps.
Deleting a pipeline deletes its preview apps permanently. You can’t undo this.
1
Open the delete dialog
On the pipeline board, open Pipeline actions (⋯) and click Delete pipeline.
2
Check what happens to the applications
The dialog lists the applications that stay, detached from the pipeline, and the preview apps that will be deleted.
3
Confirm
Type the pipeline’s name, then click Delete pipeline.
Sevalla deletes the pipeline and its stages and goes back to the Applications list. The applications of its stages keep running, outside any pipeline. API keys with capabilities scoped to the pipeline lose those capabilities.
In the API, the release strategies are trunk (Trunk-based development) and branch (Git flow). Moving a pipeline to another project with the API moves its applications too. To promote from a CI workflow, use the GitHub Action or the API. Preview app operations are on Preview apps.
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.