Plugin Installation Manager Tool Improvements

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

NOTE: This idea is published as a draft under active discussion, but it is confirmed in principle. It is FINE to apply to it. The scope and the suggested implementation may change significantly before the final version is published. Sections like quickstart guide and newbie-friendly issues may be also missing. As a contributor, you are welcome to request additional information and to join the discussions using channels linked on this page.

Details

Background

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 container images.

As a part of this project, contributors 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.

Additional background information may be found in a video recording from 2021.

Quick Start

Visit the project page for more details.

  1. Clone the project

  2. Run the tests; there are several different lists of plugins

  3. Run the Plugin Installation Manager for various combinations of plugins with a real Jenkins instance. See how the downloads and caching work.

  4. Try out some edge cases to see what could be improved.

Skills to Study and Improve

  • Java

  • YAML/data structures/package management tools

  • Writing command line interfaces

  • How the Jenkins Docker image and Configuration as Code (CasC) work

Project Difficulty Level

Beginner to Intermediate

Project Size

175 hours

Newbie Friendly Issues

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.

Potential Mentors

Project Links

Organization Links

> Go back to other GSoC 2024 project ideas