Table of terms used in Jenkins
Term used in Jenkins
Jenkins seems to use these terms interchangeably. They all refer to runnable tasks that are controlled / monitored by Jenkins.
Result of one run of a Project.
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.
Handles creation of Nodes to dynamically expand/shrink the number of slave machines
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.
Disposable directory on Node used as a working directory for building. It is preserved on best effort bases after build completion.
A build is stable if it was built successfully and no publisher reports it as unstable.
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.
A build is successful when the compilation reported no errors.
A build is broken if it failed during building. That is, it is not successful.
A build is completed, if it was started and finished with any result, including failed builds.
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.
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.
A project is (un)stable if its most recent (completed) build is (un)stable.
A project is broken if its most recent (completed) build is broken.
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