Massive amounts of test logs and console output are generated each day at the Eclipse Adoptium and Eclipse OpenJ9 projects because of the huge number of tests multiplied by the number of versions, platforms and implementations tested.
For Eclipse projects the CI/CD infrastructure is provided by Eclipse Foundation. With more and more new projects coming up Foundation needs to optimize its existing infrastructure.
One way to solve this problem is to have private cloud deployed on the hardware, run the tasks in their own containers using cutom docker images. Foundation deployed Openshift as its private cloud platform and created Jenkins instances to use Openshift based containers. This resulted in migration of exiting CI/CD infrastructure to newer Openshift based Jenkins instances.
Every development team wants to have their own Jenkins instance and “all the resources”. How can this be administered - especially if you have more than 200 Jenkins instances?
This talk shows how Jenkins master instances can be provisioned and custom tailored in seconds, while admin and upgrade overhead stays reasonable. We will also talk about quotas to fairly distribute resources and avoid teams affecting each other. Whether you are a release engineer or developer of an Eclipse project or a Jenkins administrator at your company, this talk is for you.
When I started at my current employer five years ago the CI system consisted of an outdated Jenkins installation on a PC which was located under the desk of a developer. Builds were triggered three times a day, so a developer had to wait multiple hours after a commit until the feedback arrived. The builds couldn’t be reproduced locally, so debugging was at times done via console logging on the CI system.
As more Eclipse projects are migrated to the new cluster based build infrastructure, it's time for an update on the current status and to share best practices how projects can make the most of it. The following questions (and more) will be answered: Why does my build take so long and how can it be made faster? What are Jenkins pipelines and why/when should they be used? Can I finally run docker based builds?
The Eclipse infrastructure is undergoing a massive overhaul, modernizing every* aspect from builds, to websites, our data and API, networking and virtualization. New tools and technologies are cropping up in our datacenter, including Kubernetes, Docker, 10GbE, nginx, and new developments with Gerrit and even our home-brewed Drupal-based codebase.