As of March 10th 2023, we started sunsetting Jenkins Kubernetes Operator support and maintenance. The project will be continued by the members of the community.
In 2018, we launched a new platform engineering initiative with one of our customers and quickly discovered that some existing technologies were not fully aligned with emerging cloud-native trends. Jenkins was the most popular continuous integration tool with a rich plugin ecosystem and comprehensive technical documentation. However, unlike other technologies in the Kubernetes ecosystem, Jenkins was not designed to run in such a dynamic environment.
Jenkins Operator Sunset: VirtusLab’s idea
Our idea was to overcome such challenges by implementing native Kubernetes support in Jenkins, including lifecycle management and declarative configuration. Changing the existing Jenkins architecture from a single instance to a highly-available multi-master was not possible without extensive involvement with the Jenkins working group, which would be a long-term and complicated re-architecting process. So instead of modifying Jenkins as a whole, we decided to leverage built-in extensibility in Groovy language and Operator Framework to implement reconciliation workflows for better lifecycle management. As a result of this work, we released the open source Jenkins Kubernetes Operator, which quickly became adopted by the community and hosted under the official Jenkins GitHub organization.
Jenkins Operator Sunset: the present
Now in 2023, the technology landscape has evolved remarkably since we began. GitHub has become a go-to platform for developers, alongside Actions, Copilot, and the Plugins Marketplace. On the other hand, ArgoCD provides a GitOps-style continuous deployment workflow in the Kubernetes environment, revolutionizing the way we deploy applications. In order to keep up with the latest trends, we’d have to re-architecture Jenkins from the ground up, which will be costly in terms of engineering time and broad agreement in the Jenkins community. Also, declining interest in Jenkins has led us to pursue other projects and the time we could spare on maintaining the operator decreased.
Open for adoption
Nevertheless, this project is open for adoption. We encourage teams who are interested in making the old technology cloud native to take over the open source initiative. Please contact us if you are interested in supporting Jenkins in the Kubernetes ecosystem.