This page contains information, which has been decoupled from the main Google Sumer of Code page.
Project ideas
The table below shows a list of detailed project ideas. See also the additional project areas below the table.
Well-defined project ideas
Title |
Area |
Potential mentors |
Description |
---|---|---|---|
Jenkins Web Interface Improvements |
Core, Plugins |
Unknown User (michaelneale), Unknown User (tfennelly), Unknown User (oleg_nenashev) |
As a part of 2.0 UX improvements we want to improve Jenkins WebUI. There are many potential improvements, which have been rejected due to the limited resources. In this project we propose to select particular Jenkins UI components from Jenkins core or plugins, and then to improve them by using new approaches or technology stacks. Requirements:
|
Update Center 2.0 |
Core, Project infrastructure |
Improvement of the current Plugin Manager UX + associated infrastructure changes/improvements.
|
|
New generation of Fingerprinting engine for Jenkins |
Core |
Improvement of Jenkins Fingerprinting engine. It is a proposal for Jenkins 2.0, which is described here (summary presentation). The scope for the student project is TBD, but the entire implementation can be done by a group of 2-3 students. In general, there are 3 potential project areas:
|
|
Integration of Docker plugins with Jenkins 2.0 features like Pipeline as Code |
Plugins |
Offer a Pipeline command syntax to run pipeline steps inside docker containers, the same way pipeline do support `node()`. Plan to rely on plain docker CLI, to avoid dependency on Jenkins slave remoting in docker images. Prerequisites:
|
|
Plugins for EDA and Embedded Dev. tools integration |
Plugins |
The idea is to create a Jenkins plugin for one of widely used EDA tools. Both ASIC or FPGA design flow are acceptable, the tool should be proposed by the potential student. Open-source EDA tools would be preferable (e.g. Yosys, ArachnePnR, icetools), but we also consider conditionally-free tools (like FPGA design EDAs). Prerequisites:
|
|
Automatic plugin documentation publishing on https://jenkins-ci.org/ |
Website, Project infrastructure |
Jenkins projects has currently the plugin documentation is being stored in Confluence. Sometimes the documentation is scattered and outdated. In order to improve the situation we would like to follow the documentation-as-code approach and to put docs to plugin repositories and then publish them on the project website using the awestruct engine. The project aims an implementation of a documentation continuous deployment flow powered by Jenkins and Pipeline Plugin. Requirements:
|
|
Support core plugin improvements |
Plugins |
It is often difficult for plugins developers to diagnose issues and analyse the user environment.
|
|
External Workspace Manager plugin development |
Plugins |
Some compilers generate very large volumes of output artifacts, both in file size and quantity of files (e.g. EDA compilers). Currently, sharing this data between builds is done by copying files rather than reusing the build workspace, but this approach is not efficient and can be slow. The proposed External Workspace Manager plugin aims to facilitate the reuse of workspaces between builds.
|
|
Usage Statistics Analysis |
Project infrastructure |
Jenkins project has collected anonymous usage statistics from more than 100,000 installations around the world, which includes such information like the size of the deployment, a set of plugins and their versions, and a bunch more. We currently only use it to visualize this data somewhat crudely
|
Other ideas
The list above is not final. Students are eligible to propose any Jenkins-related ideas. Various raw ideas can be found using via the list and links below:
- Ideas from Jenkins 2.0 discussions:
- Notes from Jenkins 2.0 contributor summit at FOSDEM. Many potential improvements are mentioned there (potential mentors - Unknown User (oleg_nenashev) and Unknown User (ndeloof))
- Jenkins 2.0 aggregated proposals
- Jenkins 2.0 proposals in JIRA
- Update/rework of Jenkins core and plugin web interfaces
- Remoting layer improvements (Unknown User (oleg_nenashev), TODO: slides)
- Jenkins 2.0 website contribution (Unknown User (rtyler))
- Test automation for Jenkins core and plugins (especially integration tests)
- GitHub Plugin Release publisher (with ability to prepare drafts and upload artifacts) (Unknown User (lanwen))
For interested students
As per the GSoC timeline, applications will be open from March 14th until the 25th.
Student office hours
We will be holding a special set of GSoC office hours where interested students can discuss with potential mentors from the Jenkins project.
All events will take place via this Google Hangouts link: https://jenkins-ci.org/hangout — during these timeslots Jenkins GSoC admins and mentors will be also available on the #jenkins IRC channel.
- Monday March 7th - 9AM UTC for Asia/Oceania/Europe (Unknown User (oleg_nenashev) to host it)
- Monday March 7th - 8PM UTC for US/Europe (Unknown User (rtyler) to host)
- Wednesday March 9th - 7PM UTC during the regularly scheduled Jenkins Office Hours timeslot (Unknown User (oleg_nenashev), Unknown User (rtyler))
- Thursday March 17th - 9AM UTC for Asia/Oceania/Europe (Unknown User (oleg_nenashev) to host it)
- Thursday March 17th - 8PM UTC for US/Europe (Unknown User (oleg_nenashev) to host)
- Sunday March 20th - 9AM UTC for Asia/Oceania/Europe (Unknown User (oleg_nenashev) to host it)
- Sunday March 20th - 8PM UTC for US/Europe (host - TBD)
- Wednesday March 23th - 8PM UTC for all (host - Unknown User (oleg_nenashev))
Student applications
In the meantime, if you are interested in working with Jenkins during GSoC, please follow these guidelines:
In order to register your interest, please use the jenkinsci-dev Google group. Please note that this list is publicly visible inside and outside the community. It is required for the initial review and feedback collection.
Prerequisites:
- You must join the jenkinsci-dev Google group
- You must have an account on GitHub
Recommendations for your first email to jenkinsci-dev:
- Please use the "[GSoC2016] -" prefix in your message subject
- In the first e-mail we would be interested to see the following information:
- A short self-introduction: your area of study, interests, background
- Motivation letter. Why are you interested in the Jenkins project? On which project areas would you like to work? If there are particular proposals, please let us know about them as well, and any initial thoughts on why you would be suited
- If you participate in open-source projects, please reference them
- If you have profile pages in professional networks like LinkedIn, please reference them
- If you have a Twitter account, a blog or technical/scientific publications, please refererence them as well
Getting in touch
If you have any questions during the application process, please feel free to contact us via the #jenkins IRC channel or the mailing list.
Links
- GSoC guide for students: http://write.flossmanuals.net/gsocstudentguide/what-is-google-summer-of-code/
- Application guidelines on the GSoC website.
- GSoC timeline
- Jenkins Dev mailing list