Jenkins 2022 Recap
2022 was a fruitful year for Jenkins! Across the Jenkins project, we experienced growth and strong contributions. We want to share deep gratitude to the corporate sponsorships and individual contributions that made it possible to take Jenkins to the next level. We also look forward to welcoming new friends to collaborate with us in working together to make Jenkins even better. There’s still a lot to do within the project, and in 2023, we plan to integrate many more improvements, while sustaining a diversified, inclusive, and welcoming community.
Happy reading!
Got Inspiration? We would love to highlight your cool Jenkins innovations. Share your story, and you could be in the next Jenkins newsletter.
Highlights
-
New board members and new officers elected
-
UI modernized with new themes, icons, menus, forms, and buttons
-
Java 11 replaces Java 8 as minimum supported Java version
-
Java 17 is supported
-
Security fixes and security process improvements
-
Pipeline documentation improvements in both layout and content
-
Jenkins in Google Summer of Code 2023 is accepting project ideas and volunteer mentors
Contributed by: Mark Waite
The Jenkins governance board thanks Ewelina Wilkosz and Gavin Mogan for their two years of service as board members. We’re so glad to have talented people serving on the Jenkins governance board.
December 2022 brought two new members to the Jenkins governance board.
We welcome Dr. Ullrich Hafner of the Department of Computer Science and Mathematics at the Munich University of Applied Sciences as a new member of the board. In his role as professor, he tries to win new Jenkins contributors by letting students develop new features and test cases in their student projects and theses. He has been an active contributor in the Jenkins project since 2007, mostly in the acceptance test harness and the static code analysis suite (which is now replaced by the Warnings Next Generation Plugin).
We also welcome Alexander Brandes as a new member of the board. Alexander is a Jenkins Core maintainer and the maintainer of the Job Configuration History and Ionicons API plugins.
He is a release team member and actively involved in Jenkins Long Term Support releases and weekly releases. He served as release lead for five of the twelve Jenkins LTS releases in 2022.
In addition to these two new governance board members, we welcome the new documentation officer, Kevin Martens. Kevin leads Jenkins documentation office hours, reviews and merges documentation pull requests, and is actively involved in Jenkins Special Interest Groups.
We’re grateful for the Jenkins officers that are continuing their service for another year, including:
-
Tim Jacomb - Release Officer
-
Wadeck Follonier - Security Officer
-
Damien Duportal - Infrastructure Officer
-
Alyssa Tong - Events Officer
Contributed by: Wadeck Follonier
The Jenkins security team was incredibly active this year, not only in resolving security concerns, but also providing insight to users through security advisories. The information below provides overall statistics from the Security team in 2022.
Publication
-
16 Security advisories (stable year over year).
-
Only 5 impacting Jenkins core (also stable).
-
-
Around 400 CVEs published, which was more than all previous years.
Day to day:
-
Approximately 580 SECURITY tickets handled.
-
Which is ~20% of the total number of tickets since 2009.
-
-
Around 70 hosting requests proactively audited (introduced in Q2 of 2022).
-
Around 80 UI related PRs audited in Jenkins core (introduced in Q3 of 2022).
We had to deal with even more CVEs with fancy names like Spring4Shell. We analyzed and understood them to confirm that they don’t affect Jenkins.
Delivery
-
General availability for the Jenkins custom rules in CodeQL (message).
-
Improved tooling for the SECURITY tickets handling.
Contributed by: Damien Duportal
2022 was an eventful year for the Jenkins Infrastructure team as well, leading to various updates and improvements.
-
Ci.jenkins.io now has:
-
General availability for Windows 2022 server use.
-
JDK19 availability for developers, providing new functionalities and edge testing options.
-
Kubernetes has been upgraded to version 1.23 to support Azure, AWS, and DigitalOcean.
-
-
The JFrog sponsored migration of repo.jenkins-ci.org to their new AWS platform, which provides improved performance for artifact downloads.
-
Download mirrors (get.jenkins.io):
-
A new download mirror for Jenkins was added in Asia. We want to thank Servana for providing the mirror!
-
The mirror mirror.gruenehoelle.nl, located in the Netherlands, that had been available previously has been decommissioned. Thank you for the service!
-
-
The Infrastructure team was also able to review and clean up unused Azure resources, leading to $1,000 of monthly savings!
Contributed by: Bruno Verachten
Several upgrades were made to modernize the Jenkins platform. These include:
-
Java 11 is now required for Jenkins platform and plugin development.
-
Build toolchain changes arrived in parent pom 4.52.
-
Java 11 provides a better baseline to work from, ensuring that the benefits such as performance and memory improvements are felt across the platform.
-
Jenkins now has more Java 11 installations than Java 8 installations of Jenkins core!
-
-
Jenkins now fully supports Java 17.
-
Previously, Java 17 was only available in a preview mode, but with the LTS release of 2.361.1, Java 17 functionality is fully available in Jenkins.
-
-
Migration of Linux installation packages from System V init to
systemd
.-
Users have requested this migration since 2017. The goals of the migration were achieved: to provide unification of service management implementation and better integration between Jenkins core and service management framework.
-
Thanks to Basil Crow for his work on the migration.
-
-
Staying on top of new backend and frontend dependency updates providing better testing, processing, and performance across Jenkins.
-
Container image updates:
-
Added new platform support, such as arm/v7 and aarch64.
-
Removed support for ppc64le.
-
Released the final, definitive version of the JDK8 containers.
-
Removed the deprecated install-plugins.sh script from Docker images.
-
There were also "Exit" and "Restart" lifecycle changes added to the Docker images. As a result, users must ensure they have a Container Restart Policy in their container.
-
-
The ANTLR 2 grammars and code were upgraded to ANTLR 4, making it easier for Jenkins to read and parse through various programming languages. This means Jenkins core can now compile with more languages!
-
Thanks to Alex Earl and Basil Crow for all of their hard work on completing this transition!
-
This was included in the 2.376 Jenkins weekly release.
-
-
Platform documentation
-
A short guide about web containers and servlet container support was created.
-
-
Jenkins releases are now guided by release leads thanks to our release officer, Tim Jacomb. 2022 release leads have included:
-
Tim Jacomb - 2.361.4
-
Cathy Chan - 2.319.2 and 2.332.1
-
Ildefonso Montero - 2.319.3 and 2.332.2
-
Kris Stern - 2.361.1, 2.361.2, and 2.375.2
-
Alexander Brandes - 2.332.3, 2.346.1, 2.346.2, 2.346.3, 2.361.3, and 2.375.1
-
-
Platform Work In Progress:
-
For further development, experiments with RISC-V agents with JDK17/19/20 need to be performed.
-
Additional experiments with Windows 2022 server needs to be performed as well.
-
CrowdIn for plugin localization
Thanks to Alexander Brandes for helping get CrowdIn connected with Jenkins. This will make the plugin localization process easier, allowing for any user to contribute to localizing plugin documentation. This page shows the plugins that have localization work currently open. It also provides some insight as to how many changes have been made and how many people have been contributing to the project.
UTF-8 encoding
The Jenkins project also updated how it reads jelly files, making the transition to using UTF-8. This was possible once the transition to Java 11 completed. By utilizing UTF-8, developers and users can build more reliably and have modern property files read correctly. This also aligns Jenkins' ability to read different types of property files, provided the encoding is the same.
Contributed by: Mark Waite
Jenkins LTS and weekly releases in 2022 included significant user experience improvements thanks to the work of Jan Faracik, Tim Jacomb, Alex Brandes, Daniel Beck, and many others. Table layouts, menu entries, icons, themes, breadcrumbs, and more were updated to give Jenkins a new, fresh look in 2022.
Themes and icons
Jenkins now has much broader support for themes. The dark theme is now installed on over 6,000 Jenkins controllers worldwide. The material theme is also available.
The transition to scalable vector graphics (SVG) icons improved the appearance of Jenkins icons. The SVG icons are specifically selected to work well across a wide range of resolutions and across multiple themes.
Menus and forms
The menus of configuration forms moved from the top of each configuration page to the side panel. The side panel locations are more familiar for users and make better use of screen space that was previously empty.
New look
The improvements to look and feel have made Jenkins more comfortable for users and easier to navigate.
What’s next?
Tim Jacomb and Jan Faracik shared their ideas for further improvements to the Jenkins UI. Watch their DevOps World 2022 talk, "Transformation of the Jenkins User Interface and Where Itβs Going Next" (registration required to view the video).
Contributed by: Kevin Martens
This year, the Jenkins project saw documentation contributions from new and seasoned Jenkins users. These contributions included blog posts, documentation additions and updates, documentation migration, and other improvements. All of this has helped expand and empower the Jenkins community.
Over the year, Jenkins project saw 48 blog posts, submitted by 23 different authors. There were 814 contributions throughout 2022. These contributions are a result of the community and collaboration with various projects throughout the year, such as She Code Africa Contributhon, Google Summer of Code, and Hacktoberfest. Our deepest gratitude and appreciation go out to all Jenkins contributors and the open-source community beyond.
Pipeline Steps Reference
Thanks to the work of Vihaan Thora, contributing via Google Summer of Code, the Pipeline Steps reference page provides simplified search for Pipeline steps. The reference page is invaluable for developers when working in Jenkins and utilizing plugins. The updates include search functionality, UI improvements, and faster page loading.
Algolia search
The Jenkins documentation site search has been updated to use the latest version of Algolia. We recognize and thank Gavin Mogan for his work on site search and on the plugins site. We thank Algolia for donating the search functionality. The site search now provides more relevant results and suggestions for users. A visual update was included as part of the upgrade, resulting in the new look and feel.
Contributed by: Alyssa Tong
In 2022, the Jenkins project was able to collaborate on and complete several projects. This included launching two new sites for community engagement and involvement:
-
community.jenkins.io now provides a space for community discourse and communication.
-
stories.jenkins.io is a site dedicated to sharing the experiences and stories of Jenkins users, developers, and contributors that Jenkins has impacted.
Throughout the year, the Jenkins project participated in:
We collaborated with new Jenkins users all over the globe, improved many areas of Jenkins, and celebrated the successes of the community!
The Jenkins project is also excited to share what’s to come in 2023:
-
Jenkins in GSoC 2023 : Call for Project Ideas + Call for Mentors.
-
A Guide to Better Preparations is a great resource for potential GSoC candidates, who want to get started and increase their chance of getting accepted into the program.
-
-
FOSDEM'23: Jenkins will have a devstand at FOSDEM (Feb 4-5, 2023).
-
SCALE 20x: Jenkins will have a booth presence at SCALE (March 9-12, 2023).
Finally, we want to thank our partners and sponsors over the year, as so much of this is possible with the help of their contributions.