Back to blog

GSoC Midterm Update, Modernizing and Stabilizing the Jenkins Tekton Plugin

Maeve Ho
Maeve Ho
July 28, 2025

Hello everyone!

I’m Maeve, a Computer Science student at Lehigh University, currently participating in Google Summer of Code 2025. My project involves modernizing the Jenkins Tekton Plugin to create a stable, production-ready integration between Jenkins and Kubernetes-native Tekton pipelines.

As we reach the midpoint of the coding period, I wanted to share the progress and achievements from the first half of this exciting journey.

Major Achievements This Period

The work accomplished so far has focused on establishing a solid foundation for the plugin:

Technical Modernization

I’ve successfully upgraded the plugin’s core infrastructure from outdated Java 8 and Jenkins 4.18 to Java 17 and Jenkins 2.440+. This modernization effort involved updating numerous dependencies and API calls to ensure the plugin works seamlessly with current Jenkins installations.

Testing Revolution

The testing landscape has been completely transformed. I migrated the entire test suite from JUnit 4 to JUnit 5, converting 21 existing unit tests while implementing modern testing patterns including parameterized tests and improved lifecycle management. The broken test logic has been rewritten to align with current plugin behavior.

End-to-End Testing Infrastructure

Perhaps the most significant achievement is the creation of comprehensive E2E testing capabilities. I’ve built four new integration tests that automatically provision Kind Kubernetes clusters, install Tekton components, create Jenkins jobs, and verify complete workflow execution. These tests run in our GitHub Actions pipeline and complete in just 3 - 4 minutes.

Continuous Integration Pipeline

A robust CI/CD pipeline now powers the development process. The GitHub Actions workflow handles everything from environment setup to test execution and reporting, providing immediate feedback on every code change.

Code Quality Monitoring

JaCoCo integration now provides detailed code coverage insights. While we’re at 12% overall coverage, certain critical packages like the build module achieve 73% coverage, giving us clear visibility into testing priorities.

Technical Insights and Learning

Working on this project has provided deep insights into the challenges of maintaining compatibility between different CI/CD paradigms. The integration between Jenkins' traditional approach and Kubernetes-native Tekton execution requires careful consideration of resource management, authentication, and error propagation.

The E2E testing approach has proven particularly valuable - these tests catch integration issues that would be impossible to detect through unit testing alone. Watching real Tekton TaskRuns and PipelineRuns execute in our test clusters provides confidence that the plugin works correctly in real-world scenarios.

Upcoming Development Focus

The remaining coding period will concentrate on several key areas:

Dynamic CRD Support

Implementing support for dynamic Tekton Custom Resource Definitions will enable users to leverage advanced Tekton features and create more flexible integration patterns.

Enhanced User Experience

Focus will shift toward improving error handling, expanding documentation, and providing clear examples for common use cases to make the plugin more accessible to users.

Performance and Scalability

Optimizations for large-scale Kubernetes deployments and improved resource management will ensure the plugin performs well in enterprise environments.

Migration Path Development

Building tools and documentation to help teams transition from traditional Jenkins pipelines to cloud-native Tekton workflows represents a crucial long-term goal.

Community and Mentorship

This experience has highlighted the value of open-source collaboration. Working with experienced Jenkins community members has provided insights not just into technical implementation, but into the broader ecosystem considerations that make plugins successful.

The mentorship aspect of GSoC has been particularly enriching - having access to experts who understand both the Jenkins plugin architecture and Kubernetes ecosystem nuances has accelerated the learning process significantly.

Midterm Demonstration

During our recent midterm presentation, I demonstrated the current capabilities, including the automated testing pipeline and real-world integration scenarios. For those interested in the technical details of our testing strategy and modernization approach, the presentation recording is available on the Jenkins in Google Summer of Code page.

Project Repository

Development progress can be tracked at: GitHub Repository

The foundation is now solid, and I’m energized to continue building features that will help development teams seamlessly integrate cloud-native CI/CD practices into their existing Jenkins workflows!

About the author

Maeve Ho

Maeve Ho

Maeve is currently pursuing a Bachelor’s degree in Computer Science at Lehigh University. With hands-on experience in Kubernetes, CI/CD, and plugin development, she has contributed to large-scale cloud-native workflows and high-performance computing systems.

In 2025, Maeve was selected as a Google Summer of Code (GSoC) contributor for the Jenkins project, focusing on enhancing the Tekton Client Plugin by implementing full CRUD support for Tekton resources within Jenkins.

Outside of open-source work, she has interned at VNPT and conducted research at Lehigh’s NANO Lab. Maeve is passionate about bridging traditional CI/CD tools with modern Kubernetes-native solutions.