The linaro jenkins server can be found at https://ci.linaro.org/
Jobs are created using https://jenkins-job-builder.readthedocs.io/en/latest/ , which allows us define the jobs as yaml files, to be merged in via Gerrit. The repository from the jobs configurations is at
https://git.linaro.org/ci/job/configs.git/
Notable features
job: name must match the filename
The YAML format is defined at https://jenkins-job-builder.readthedocs.io/en/latest/
Not all features listed are available, as they depend on plugins our Jenkins may not have installed
On request, we can install plugins needed
the users and groups “authorization” are from /wiki/spaces/IKB/pages/14099815248
Our convention is not to include shell scripts as part of the job definition, but as shell script in the git repository, included with !include-raw stanza
Secret values can be stored in the Jenkins, and you can refer to them via “credentials-binding”
The node: is jenkins node to use to builds. Most cases, we use docker container based build nodes. They are in the form of “docker-distro-architecture”, such as docker-buster-arm64.
After creating the configuration, submit it to our Code Review Server
Wait for the bot to verify the gerrit review with https://ci.linaro.org/job/ci-job-configs-sanity-check/
If your team has someone in the “linaro-ci-jobs-configs-approvers” gerrit group, request for them to review and submit your job configuration.
Else as #systems channel in Linaro /wiki/spaces/IKB/pages/14411367327
To remove a job from Jenkins, you need to set the display-name
to “DELETE ME” in the config. The next time jjb is run, the job will be removed from Jenkins and it is safe to “git rm” the file from the repository.
In the event that you delete a job config before running the “DELETE ME” step, you will need to contact a Systems team member to manually remove the job from Jenkins via the administrative interface.