Tendrl CI jobs and related documentation.
Tendrl packages are built in Fedora Copr, triggered by respective jobs in CentOS CI.
The jobs in CentOS CI are configured via Jenkins Job Builder and this repository contains the respective configuration files (in jobs/build-triggers/ directory).
There are two groups of jobs:
release/*
branchmaster
branchEach group contains few types of jobs:
Dashboard view: https://ci.centos.org/view/Tendrl
List of jobs (detailed view): https://ci.centos.org/view/tendrl-build-release/
Dashboard view: https://ci.centos.org/view/Tendrl-master/
List of jobs (detailed view): https://ci.centos.org/view/tendrl-build-master/
Using CentOS CI have some specifics and some parts of the building process is not as straight forward as it might be. Main "problem" (specific) is, that we are not the owners/admins of the Jenkins. And the Jenkins slave where are running our jobs is shared with other projects, so we have not rights to install there anything and we should not break anything.
The package trigger/build process is not performed directly on Jenkins slave (the reason was described in previous paragraph), but on ad-hoc prepared machine borrowed from CentOS CI/Duffy.
When job Tendrl build: (\<branch-name>) - \<package-name> is triggered (by GitHub Webhook or manually):
make ...
commandcopr-cli build ...
Detailed description of CentOS CI is out of scope for this document. Feel free to raise any question or check official documentation: https://wiki.centos.org/QaWiki/CI https://wiki.centos.org/QaWiki/CI/GettingStarted
jobs/jenkins-config.example.ini
jobs/build-triggers/
update the jobs:
jenkins-jobs --ignore-cache --flush-cache --conf jobs/jenkins-config.ini -l debug update jobs/build-triggers/