I’d like to understand what is a Jenkins executor, and how to best manage executors?
How many executors should I allocate to a build agent?
- CloudBees Core
- CloudBees Core on modern cloud platforms - Managed Master
- CloudBees Core on modern cloud platforms - Operations Center
- CloudBees Core on traditional platforms - Client Master
- CloudBees Core on traditional platforms - Operations Center
- CloudBees Jenkins Enterprise
- CloudBees Jenkins Enterprise - Managed Master
- CloudBees Jenkins Enterprise - Operations Center
- CloudBees Jenkins Team
- CloudBees Jenkins Platform - Client Master
- CloudBees Jenkins Platform - Operations Center
- Jenkins LTS
A Jenkins executor is one of the basic building blocks which allow a build to run on a node/agent (e.g. build server). Think of an executor as a single “process ID”, or as the basic unit of resource that Jenkins executes on your machine to run a build. Please see Jenkins Terminology for more details regarding executors, nodes/agents, as well as other foundational pieces of Jenkins.
You can find information on how to set the number of Jenkins executors for a given agent on the Remoting Best Practices page, section Number of executors.
CloudBees Jenkins Operations Center (CJOC) has some licensing options. In most cases, the “License (no dedicated executors)” option is recommended, as this allows CJOC to manage the total pool of executors, allocating to each of the CloudBees Jenkins Enterprise (CJE) instances as needed.
Using CJOC is the most efficient approach to making the most use of your available executors (and node/agent resources as well). If Shared Agents or Shared Cloud resources are defined at the parent CJOC level, the children CJE instances can scale up/down as needed to make the best use of the total resources. It is a more efficient approach to define Shared agent resources using a total allocation of 40 executors at the CJOC level, than it is to define local agents attached to 4 JE instances with each consuming 10 executors - a scenario that is much more likely to result in queued builds due to Executor Starvation.
Default Jenkins Behavior explains how executors function on available nodes. CloudBees Jenkins Enterprise includes some features to help manage and make the best use of your executors, to prevent the common issue of Executor Starvation. Please see the Even Loading Strategy and Even Scheduler Plugin for more details.