Note
|
This page is generated from Jenkins inline help intended to be rendered within the Jenkins UI. Some minor content glitches are expected. |
By default, only a single build of a project is executed at a time — any
other requests to start building that project will remain in the build queue
until the first build is complete.
This is a safe default, as projects can often require exclusive access to
certain resources, such as a database, or a piece of hardware.
But with this option enabled, if there are enough build executors available that can handle this project, then multiple builds of this project will take place in parallel. If there are not enough available executors at any point, any further build requests will be held in the build queue as normal.
Enabling concurrent builds is useful for projects that execute lengthy test
suites, as it allows each build to contain a smaller number of changes, while
the total turnaround time decreases as subsequent builds do not need to wait
for previous test runs to complete.
This feature is also useful for parameterized projects, whose individual build
executions — depending on the parameters used — can be
completely independent from one another.
Each concurrently executed build occurs in its own build workspace, isolated
from any other builds. By default, Jenkins appends "@<num>" to
the workspace directory name, e.g. "@2".
The separator "@" can be changed by setting the
hudson.slaves.WorkspaceList Java system property when starting
Jenkins. For example, "hudson.slaves.WorkspaceList=-" would change
the separator to a hyphen.
For more information on setting system properties, see the wiki page.
However, if you enable the Use custom workspace option, all builds will be executed in the same workspace. Therefore caution is required, as multiple builds may end up altering the same directory at the same time.