liveBook · Manning

Runner

As explained in Effective Platform Engineering

A pipeline runner is a preconfigured execution component that runs pipeline jobs with specified tools and packages.

A pipeline runner is an execution component preconfigured with the packages pipeline jobs need. Maintain runners alongside reusable pipeline code, but keep their responsibilities distinct: the runner supplies the execution environment; repository-owned pipeline code defines and references shared jobs and steps. section 6.3.7 section 6.2.2

Installing reusable logic on a runner is not a substitute for referencing a versioned pipeline library in the repository. Server- or runner-installed plugins make pipelines brittle and harder to maintain. section 6.2.2

Choose where runners execute according to the workload and network requirements:

  • Use a private executor on cloud resources when a SaaS pipeline must reach services kept on internal networks. Unlike a hosted executor, this is self-managed. section 6.3.8
  • Watch capacity: idle executors waste resources, while too few leave pipelines waiting. section 6.3.8
  • Keep pipeline logic in versioned shared libraries rather than expanding runner configuration to carry it. section 6.2.2 section 6.5

Try a private runner locally

Start a local Kubernetes cluster, then use CircleCI’s container-agent to create a private runner resource. Configure CircleCI projects to use it; the agent watches those projects and runs their pipelines in containers started in the cluster. The experiment requires CircleCI CLI, Kind, kubectl, and Helm. section 6.3.8

$ brew install kind kubectl helm circleci

Shows the macOS Homebrew command for installing the tools required by the local runner experiment. section 6.3.8

How Effective Platform Engineering covers it

How deep it goes
Distinguishes runners from shared code and outlines a local private-runner experiment, without detailing production runner sizing.
Examples
Uses a CircleCI container-agent experiment in which a local Kubernetes cluster runs pipelines for configured projects.
What it assumes
Requires CircleCI CLI, Kind, kubectl, and Helm for the local Kubernetes experiment.
What you can do after
Operate/configure it: create a CircleCI private runner resource locally and configure projects to run pipelines through it.
How it connects
Connects runners to CI pipelines, reusable pipeline code, private networks, and Kubernetes.

Also explained in

Compare how 2 books explain runner →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Effective Platform Engineering. The section links point to the parts of the book it draws on.