This repository has templates that generate jobs in the Linux Foundation Jenkins instance using the Jenkins Job Builder. For more information about that tool please see:
https://docs.openstack.org/infra/system-config/jjb.html
Jenkins jobs are generated from standard Global JJB templates and from custom-to-project JJB templates.
Global JJB jobs originated with the Open Daylight project and reflect CI/CD design choices made there. Global JJB templates are used as much as possible in JQuery. As of this writing this includes CLM, RST/RTD documentation, javadoc, simple Maven/Java jar jobs and some Python jobs.
Documentation of Global JJB templates can be found here:
http://global-jjb.releng.linuxfoundation.org/en/latest/index.html
The Sandbox provides a testing/experimentation environment used before pushing job templates to the production instance.
To access the Sandbox use: https://jenkins.openjsf.org/sandbox
The access to the Sandbox uses the same LFID used in the production Jenkins instance, but in this case a new Helpdesk ticket needs creation to request the sandbox access.
The service desk is a support platform for administrative and infrastructure issues requiring input or action from members of the Linux Foundation IT staff.
To access the LF Helpdesk use: https://support.linuxfoundation.org
For help opening a support ticket use: https://docs.releng.linuxfoundation.org/en/latest/helpdesk.html
These instructions explain how to test the JQuery templates using the Jenkins sandbox. This catches errors before submitting the changes as Gerrit reviews.
Prerequisites:
Install the Jenkins job builder:
pip install --user jenkins-job-builder
Check out the global JJB templates submodule within this repo:
git submodule update --init
Check sanity by running the Jenkins job-builder script in this directory:
jenkins-jobs test -r jjb
Login (after requesting membership in group jquery-jenkins-sandbox-access) at the Jenkins sandbox:
https://jenkins.openjsf.org/sandbox
Get the authentication token from the sandbox: a) click on your user name (top right) b) click Configure (left menu) c) click API Token (button)
Create a config file jenkins.ini using the following template and your credentials
(user name and API token from above):
[job_builder]
ignore_cache=True
keep_descriptions=False
recursive=True
[jenkins]
query_plugins_info=False
url=https://jenkins.openjsf.org/sandbox
user=YOUR-USER-NAME
password=YOUR-API-TOKEN
Build and deploy a specific job using the EXACT job name.
jenkins-jobs --conf jenkins.ini update -j jjb your-job-name-here
Examples:
jenkins-jobs --conf jenkins.ini update -j jjb <job_name>
In the sandbox visit the job page, then click the button "Build with parameters" in left menu.