Core Concepts
Before building your first pipeline, it helps to understand how pipel8ne models CI/CD workflows.
The four levels
Project
A project is a logical container that groups related pipelines. Typically one project = one repository or one application.
Projects have a visibility setting:
- Private — only visible to you
- Public — visible to all users on the instance
Pipeline
A pipeline is a directed graph of stages. It has a trigger (what starts it) and a status:
- Draft — being designed; trigger is optional; cannot be activated
- Active — has a trigger configured and is ready for export
You can have multiple pipelines per project (e.g. one for CI, one for deployment, one for nightly jobs).
Stage
A stage is a named group of jobs that run together. Stages are connected by dependency edges that define the execution order.
[Build] ──► [Test] ──► [Deploy]All jobs inside a stage run in parallel unless you add edges between them.
Job
A job runs on a specific runner (e.g. ubuntu-latest, self-hosted). It contains a list of steps that execute sequentially.
When a job fails, subsequent steps within that job are skipped, and any jobs that depend on it are also skipped.
Step
A step is the smallest unit of work. It has a type that determines what it does and what parameters it accepts:
| Type | What it does |
|---|---|
shell_command | Runs a shell script |
docker | Build, run, push, or pull a Docker image |
git | Clone, checkout, pull, tag, or push |
test | Runs a test suite (Jest, Pytest, Vitest, etc.) |
build | Builds an artifact (npm, Maven, Cargo, etc.) |
deploy | Deploys to a target (Kubernetes, AWS, SSH, etc.) |
notification | Sends a message (Slack, Teams, email, Discord) |
The canvas
The visual editor has three canvas levels. You navigate by drilling down:
| Level | What you see | How to enter |
|---|---|---|
| Pipeline view | All stages + dependency edges | Default when opening a pipeline |
| Stage view | All jobs in a stage | Double-click a stage card |
| Job view | All steps in a job | Double-click a job card |
Use the breadcrumb at the top to go back up.
Triggers
A trigger defines when the pipeline runs. pipel8ne supports:
| Trigger type | When it fires |
|---|---|
push | On a push to specified branches |
pull_request | On a pull request targeting specified branches |
schedule | On a cron schedule |
tag | On a new tag matching a pattern |
manual | Only when manually triggered |
The trigger is configured at the pipeline level, not on a step.
YAML export
When you're done designing, export the pipeline to a YAML file compatible with your CI/CD platform. The export is generated client-side — nothing leaves your browser.
Supported formats: GitHub Actions, GitLab CI, Azure DevOps.
See Exporting Pipelines for details.
