Jenkins : Terminology

The official glossary page is now located at https://jenkins.io/doc/book/glossary/ but it does not contain all terms from this page, yet.

Table of terms used in Jenkins

Term used in Jenkins

Description

Job/Project

Jenkins seems to use these terms interchangeably. They all refer to runnable tasks that are controlled / monitored by Jenkins.

Build

Result of one run of a Project.

Artifact

 

Node/Slave

Slaves are computers that are set up to build projects for a master. Jenkins runs a separate program called "slave agent" on slaves. When slaves are registered to a master, a master starts distributing loads to slaves. Term Node is used to refer to all machine that are part of Jenkins grid, slaves and master.

Cloud

Handles creation of Nodes to dynamically expand/shrink the number of slave machines

Executor

Separated stream of builds to be run on Node in parallel. Node can have 1 or more Executors. Special executors can be created dynamically (one-off executors) to run lightweight jobs used mostly for orchestration purposes.

Workspace

Disposable directory on Node used as a working directory for building. It is preserved on best effort bases after build completion.

Stable build

A build is stable if it was built successfully and no publisher reports it as unstable.

Unstable build

A build is unstable if it was built successfully and one or more publishers report it unstable. For example if the JUnit publisher is configured and a test fails then the build will be marked unstable.

Successful build

A build is successful when the compilation reported no errors.

Broken build
Failed build

A build is broken if it failed during building. That is, it is not successful.

Completed build

A build is completed, if it was started and finished with any result, including failed builds.

Upstream project

A project can have one or several upstream projects, which means that a build for the current project may be scheduled when an upstream build is finished. Per default every stable upstream build will schedule a build in the downstream project, but there are several options and plugins which can customize this behaviour.

Downstream project

A project can have one or several downstream projects. The current project is then known as an upstream project of the downstream project. See Upstream project for what this means regarding scheduling of builds.

(Un)Stable project

A project is (un)stable if its most recent (completed) build is (un)stable.

Broken project

A project is broken if its most recent (completed) build is broken.

Publisher

A publisher is part of the build process other than compilation, for example JUnit test runs. A publisher may report stable or unstable result depending on the result of its processing. For example, if a JUnit test fails, then the whole JUnit publisher may report unstable.

Classes Terms Specific to Writing Plugins / Understanding Code Architecture

Term used in Jenkins

Description