The linaro jenkins server can be found at https://ci.linaro.org/
Creating CI jobs
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/
Sample CI job
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.
Adding Job configs to our jenkins
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