The Jenkins project includes Jenkins core and over two thousand plugins. There are other collaborative initiatives going on under the umbrella of the Jenkins project which grow or expand the project in new ways.
The Google Summer of Code (GSoC) project is an annual, international, program which encourages college-aged students to participate with open source projects during the summer break between classes. Students accepted into the program receive a stipend, paid by Google, to work well-defined projects to improve or enhance the Jenkins project. In exchange, numerous Jenkins community members volunteer as "mentors" for students to help integrate them into the open source community and succeed in completing their summer projects.
As an independent open source project, Jenkins maintains most of its own infrastructure including services which help keep the project running. The kinds of things that fall into "infrastructure" can span from operating virtual machines and distribution networks, to project-specific applications developed to make the development of Jenkins core and plugins more efficient.
There are various sub-groups and opportunities to contribute to the Jenkins project’s infrastructure.
Jenkins Area Meetups (JAMs) are local meetups intended to bring Jenkins users and contributors together for socializing and learning. JAMs are organized by local Jenkins community members who have a passion for sharing new Jenkins concepts, patterns and tools. JAMs can be found around the world, and if there isn’t a JAM in your city, you could be the one to start it!
Jenkins Area Meetups are driven by local organizers but receive support from the Jenkins project via swag (stickers, etc), promotion, and help bootstrapping and operating the meetup group.
Jenkins Remoting is a library, and executable Java archive, which implements the communication layer in Jenkins. This includes the TCP-based communication protocols, remote procedure calls, class loading, data streaming, etc. Currently Remoting is primarily used in communications between the Jenkins controller and its agents. It is also used for the Remoting-based CLI and the Maven Integration plugin.
The Remoting sub-project includes the Remoting library itself, package for agents, and a number of Remoting-specific plugins and core modules.
Setting up Jenkins is a complex process, as both Jenkins and its plugins require some tuning and configuration, with dozens of parameters to set within the web UI manage section.
Jenkins Configuration as Code allows to define this whole configuration as a simple, human-friendly, plain text yaml syntax. Without any manual step this configuration can be validated and applied to a Jenkins controller in fully a reproducible way. With JCasC setting up a new Jenkins controller will become a no-brainer event.
The Jenkins Operator is a Kubernetes Native Operator which manages operations for Jenkins on Kubernetes. It has been built with Immutability and declarative Configuration as Code in mind.
This project enables community to run Jenkins in a cloud-native environments like Kubernetes. Also, supports most of the public cloud providers (AWS, Azure, GCP) in terms of additional capabilities like backups, observability and cloud security.
Kubernetes is a popular platform for Jenkins. The Jenkins project uses Kubernetes to provide agents for ci.jenkins.io. Many Jenkins users install their controllers on Kubernetes.
The Kubernetes installation guide provides detailed instructions for Jenkins on Kubernetes. A Google Season of Docs project created the Kubernetes installation guide. Maintenance of the Kubernetes installation guide is now provided by the documentation special interest group.
Blue Ocean was a project to improve the user experience of Jenkins, modelling and presenting the process of software delivery by surfacing information that’s important to development teams with as few clicks as possible, while still staying true to the extensibility that Jenkins always has had as a core value.
Blue Ocean status
Blue Ocean will not receive further functionality updates. Blue Ocean will continue to provide easy-to-use Pipeline visualization, but it will not be enhanced further. It will only receive selective updates for significant security issues or functional defects. |