[Jenkins] Necessary changes for recent Jenkins
This PR contains changes to the Jenkins Pipeline required to run on an up-to-date Jenkins. With this I plan to switch to a self-hosted Jenkins instance which is accessible from outside the UFZ too: jenkins.opengeosys.org.
Some notable changes:
- Before for each build one slot on Jenkins master was blocked. Now everything happens on the slave nodes.
- Use
stage
block-syntax. - Moved common pipeline functionality from
scripts/jenkins/lib
to its own repository which is available to Jenkins jobs globally. If you have followed the repo link you will have noticed that I am experimenting with a self-hosted GitLab instance: gitlab.opengeosys.org. More on that later...
Once merged I will move the UFZ Jenkins jobs (master
and PR-****
) to the new Jenkins instance. At that point you have to rebase your PRs to master
otherwise they will not run successfully on the new Jenkins.
Step by step I will then also move remaining jobs (clang-sanitizer, docs, tests-large, ..).
Sorry for the large single commit, it was a lot trial and error and rebasing. If necessary I can split..