When JJB is ran concurrently on the same system with caching enabled, a
timeout can occur when one job fails after waiting 1 minute to aquire
the lock on the JJB cache directory.
Even if caching is disabled/ignored this timeout can still occur as JJB
always tries to lock the cache directory.
Having the ability to configure the cache directory will allow projects
to override it dynamically (with Jenkins env-vars) and run concurrent
jobs on the same node.
Change-Id: I1187847f658e754621369005e627a0f33a0253bc
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
+ :jjb-cache: Location of Jenkins Job Builder (JJB) cache used for jjb
+ jobs.
:jjb-version: Version of Jenkins Job Builder (JJB) to install and use in
the jjb jobs.
:jjb-version: Version of Jenkins Job Builder (JJB) to install and use in
the jjb jobs.
:build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
:build-timeout: Timeout in minutes before aborting build. (default: 10)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
:build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
:build-timeout: Timeout in minutes before aborting build. (default: 10)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
+ :jjb-cache: JJB cache location. (default: $HOME/.cache/jenkins_jobs)
:jjb-version: JJB version to install. (default: see job-template)
:stream: Keyword that can be used to represent a release code-name.
Often the same as the branch. (default: master)
:jjb-version: JJB version to install. (default: see job-template)
:stream: Keyword that can be used to represent a release code-name.
Often the same as the branch. (default: master)
:build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
:build-timeout: Timeout in minutes before aborting build. (default: 10)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
:build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
:build-timeout: Timeout in minutes before aborting build. (default: 10)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
+ :jjb-cache: JJB cache location. (default: $HOME/.cache/jenkins_jobs)
:jjb-version: JJB version to install. (default: see job-template)
:stream: Keyword that can be used to represent a release code-name.
Often the same as the branch. (default: master)
:jjb-version: JJB version to install. (default: see job-template)
:stream: Keyword that can be used to represent a release code-name.
Often the same as the branch. (default: master)
:build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
:build-timeout: Timeout in minutes before aborting build. (default: 10)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
:build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
:build-timeout: Timeout in minutes before aborting build. (default: 10)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
+ :jjb-cache: JJB cache location. (default: $HOME/.cache/jenkins_jobs)
:jjb-version: JJB version to install. (default: see job-template)
:stream: Keyword that can be used to represent a release code-name.
Often the same as the branch. (default: master)
:jjb-version: JJB version to install. (default: see job-template)
:stream: Keyword that can be used to represent a release code-name.
Often the same as the branch. (default: master)
name: JJB_VERSION
default: '{jjb-version}'
description: Jenkins Job Builder version to download and install.
name: JJB_VERSION
default: '{jjb-version}'
description: Jenkins Job Builder version to download and install.
+ - string:
+ name: XDG_CACHE_HOME
+ default: '{jjb-cache}'
+ description: Jenkins Job Builder cache location.
- parameter:
name: lf-packer-parameters
- parameter:
name: lf-packer-parameters
build-timeout: 10
disable-job: false
github-url: 'https://github.com'
build-timeout: 10
disable-job: false
github-url: 'https://github.com'
+ jjb-cache: '$HOME/.cache/jenkins_jobs'
jjb-version: 2.2.1
stream: master
submodule-recursive: true
jjb-version: 2.2.1
stream: master
submodule-recursive: true
branch: '{branch}'
lftools-version: '{lftools-version}'
- lf-infra-jjb-parameters:
branch: '{branch}'
lftools-version: '{lftools-version}'
- lf-infra-jjb-parameters:
+ jjb-cache: '{jjb-cache}'
jjb-version: '{jjb-version}'
wrappers:
jjb-version: '{jjb-version}'
wrappers:
parameters:
- lf-infra-jjb-parameters:
parameters:
- lf-infra-jjb-parameters:
+ jjb-cache: '{jjb-cache}'
jjb-version: '{jjb-version}'
triggers:
jjb-version: '{jjb-version}'
triggers:
--- /dev/null
+---
+features:
+ - |
+ Add the ability to configure the location of JJB's cache directory
+ for CI jobs.