Skip to content

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:

TypeWhat it does
shell_commandRuns a shell script
dockerBuild, run, push, or pull a Docker image
gitClone, checkout, pull, tag, or push
testRuns a test suite (Jest, Pytest, Vitest, etc.)
buildBuilds an artifact (npm, Maven, Cargo, etc.)
deployDeploys to a target (Kubernetes, AWS, SSH, etc.)
notificationSends a message (Slack, Teams, email, Discord)

The canvas

The visual editor has three canvas levels. You navigate by drilling down:

LevelWhat you seeHow to enter
Pipeline viewAll stages + dependency edgesDefault when opening a pipeline
Stage viewAll jobs in a stageDouble-click a stage card
Job viewAll steps in a jobDouble-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 typeWhen it fires
pushOn a push to specified branches
pull_requestOn a pull request targeting specified branches
scheduleOn a cron schedule
tagOn a new tag matching a pattern
manualOnly 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.

Released under the MIT License.