This page contains the details of a technical writing project accepted for Google Season of Docs.
Project summary
- Open source organization:
- Jenkins Project
- Technical writer:
- Zaycodes
- Project name:
- Jenkins on Kubernetes
- Project length:
- Standard length (3 months)
Project description
Kubernetes is a platform-agnostic container orchestration tool created by Google and heavily supported by the open-source community as a project of the Cloud Native Computing Foundation. It allows you to use container instances and manage them for scaling and fault tolerance. It also handles a wide range of management activities that would otherwise require separate solutions or custom code, including request routing, container discovery, health checks, and rolling updates.
Kubernetes is compatible with the majority of CI/CD tools which allow developers to run tests, deploy builds in Kubernetes and update applications with no downtime. One of the most popular CI/CD tools now is Jenkins for the following reasons: 1. It is open-source and free. 2. it is user-friendly, easy to install and does not require additional installations or components. 3. Jenkins is also quite easy to configure, modify and extend. 4. It deploys code instantly, generates test reports. 5. Jenkins can be configured according to the requirements for continuous integrations and continuous delivery. 6. Jenkins is available for all platforms and different operating systems, whether it is OS X, Windows or Linux. 7. It also boasts a rich plugin ecosystem. The extensive pool of plugins makes Jenkins flexible and allows building, deploying and automating across various platforms. 8. Most of the integration work is automated. Hence fewer integration issues. This saves both time and money over the lifespan of a project.
The following reasons have made Jenkins on Kubernetes a popular theme for Jenkins users, however, there’s currently no central location for documentation describing Jenkins on Kubernetes, thereby making it difficult for Jenkins on Kubernetes users to navigate and find information. This project would create a new Kubernetes Solutions page which would describe the concepts, techniques, and choices for Kubernetes users running Jenkins.
Current State
There are a lot of presentations and articles about running Jenkins on Kubernetes, however, there’s no central location for describing Jenkins on Kubernetes. This makes it difficult for: 1. Jenkins on Kubernetes users to navigate and find information 2. Track, update and maintain information on Jenkins on Kubernetes
Why is your proposed documentation an improvement over the current one?
To solve the existing issue with Jenkins on Kubernetes documentation, I’m going to be creating a Kubernetes Solutions page on Jenkins.io following this structure I created. This Solutions page is going to aggregate existing materials and related projects. This project provides the following advantages:
- Improve the user experience of Jenkins on Kubernetes users by giving them a one-stop-shop for information on Jenkins on Kubernetes.
- Make it easy to track, update and maintain information on Jenkins on Kubernetes using the Solutions page.
As a developer, I know how frustrating it could be when you are having issues and still have to face the stumbling block of having to navigate for hours before you are able to find a single piece of information, something that ordinarily should have taken a few minutes to find if the information was well structured. I chose to work on this project because creating a Solutions page for Jenkins on Kubernetes would give me the opportunity to improve the experience of Jenkins users.
Analysis
I created a structure for the Kubernetes Solutions page, aggregating some of the existing materials on Jenkins on Kubernetes and links to some useful resources. Also, bearing in mind the fact that “You can’t really create truly great user documentation until you’ve listened to the people outside your organization who actually use the products, learn their pain points and try to address them as best you can”, I shared the new structure of the Kubernetes Solutions page with some Jenkins on Kubernetes users in my organization Interswitch and also the Jenkins community to get their input on what they will like to see in the new documentation and they dropped a few comments which can also be found in the proposed new structure. However, this structure needs to be accepted and modified by Mentors before implementation begins.
Project Goals
Create a new Kubernetes Solutions Page following this structure on the Jenkins Solution page or a volume which would describe the concepts, techniques, and choices for Kubernetes users running Jenkins.