Skip to content

Pipelines 201

Paul Huebner edited this page Jul 22, 2022 · 4 revisions

Dashboard

Permissions

Pipelines may be public or private. Furthermore, a user must be assigned to a pipeline in order to perform certain actions with it. Anonymous users are users not logged in on the dashboard. Please see the table below for more complete details.

Anonymous/Unassigned Assigned
Have the pipeline listed Yes* Yes
See recent runs Yes* Yes
See run logs Yes* Yes
Download run archive Yes* Yes
See visibility Yes* Yes
See the trigger URL No Yes
See the pipeline config No Yes
Edit the pipeline config No Yes
Run the pipeline No Yes

* Only for public pipelines.

Pipelines

Environment Variables

Similar to the script array, an array of environment variables can be provided:

{
  "stages": [{
    "name": "Echo",
    "image": "alpine",
    "environment": ["FOO=BAR", "BAZ"],
    "script": ["echo \"${BAR} ${BAZ}\""]
  }]
}

In this example, it will print FOO BAZ.

Environment variables will split at the first =. If this is not provided or nothing comes after it, the value will default to the key as shown in the example above.

Custom Runtimes

It is possible to run each container with a custom runtime:

{
  "stages": [{
    "name": "Echo",
    "image": "alpine",
    "runtime": "sysbox"
  }]
}

This will run the stage's container with the sysbox container runtime. A custom runtime is required in order to be able to achieve functionality such as Docker inside Docker. The runtime must be available to the runner. If not, the pipeline will error.

Clone this wiki locally