Project goal: Introduce new features and improvements in the plugin installation manager
Skills to study/improve: Java, YAML, Command line tools, Package management tool theory
In 2019 there was a Jenkins Google Summer of Code project to create a tool to automatically install plugins from the command line based on a provided input. This is meant to help with creating reproducible environments and other places where you would want to install a certain set of plugins. The project was successful in creating a useable tool to install plugins with a 1.0 release. Over time, the plugin installation manager was improved and added to other components like official Jenkins Docker images.
As a part of this project, students are invited to introduce new features and improvements in the plugin installation manager. The list of enhancements is a subject for discovery as a part of the application process. Some of the ideas are available in the project tracker.
Visit the project page at https://github.com/jenkinsci/plugin-installation-manager-tool
Clone the project
Run the tests; there are several different lists of plugins
Run the Plugin Installation Manager for various combinations of plugins with a real Jenkins instance. See how the downloads and caching work.
Try out some edge cases to see what could be improved.
Java
YAML/data structures/package management tools
Writing command line interfaces
How the Jenkins Docker image and Configuration as Code (CasC) work
Improvements to existing tool
Key improvements for the plugin installation manager tool will be identified, prioritized, and planned. Google Summer of Code contributor will propose the areas for improvement and work with mentors to plan those improvements.
Some good first issues are available in the issue tracker. For information about how to contribute to and what to work on, please use the gitter channel.