Role Strategy Plugin performance
Project goal: Improve performance of one of the most popular authorization plugins in Jenkins
Skills to study/improve: Java, Performance Testing
Role Strategy Plugin is widely used in Jenkins as an authorization engine, but it has known performance limitations for large-scale setups. In this project the proposal is to improve the plugin’s performance and to create a proper testing framework for Jenkins security plugins.
The project may include:
-
Perform profiling of the plugin, together with the mentor
-
Optimize memory and CPU usage by updating internal (refactor string operations, redesign APIs, etc.)
-
Introduce better caching logic for role groups and assignments
-
Setup test automation in order to verify the plugin’s performance in Jenkins pull request builds
See this JIRA query for more potential tasks for performance improvements.
Quickstart
-
Create a Jenkins instance with many projects and user roles defined by the plugin
-
oleg-nenashev/demo-jenkins-config-as-code can be used as an example of such configuration
-
Configuration-as-code approach is recommended, because it may be needed to automate generation of roles, users and projects for this task
-
-
Setup complex roles with heavy regular expressions, try to get visible performance degradation of the plugin
Newbie-friendly tasks
See this JIRA query. More issues can be added to the list if needed, please do not hesitate to ask in the task.
Organization Links
-
Jenkins GSoC page - documentation, application guidelines
-
Participate and contribute to Jenkins - landing page for newcomer contributors
-
Newbie-friendly issues - list of organization-wide newbie-friendly issues (use them if there is no links in the project idea) > Go back to other GSoC 2021 project ideas