Jenkins is the way to create a computer on wheels

Building An Engineering Portfolio

Submitted By Jenkins User Garima Singh
Not only is Jenkins a go-to source for enterprise companies worldwide, but emerging engineers have also discovered its use to be a great teaching tool with multiple applications.
Organization: A technology institute in India
Industries: Education
Programming Languages: Node.js, HTML, CSS
Version Control Systems: GitHub
Community Support: Jenkins.io websites & blogs

Becoming an engineer on the heels of a Jenkins test-bed.

Background: An engineering student built a CI solution using Jenkins while attending a public engineering institution in India. The project was inspired by a blog post she read on the creation of a versatile Jenkins CLI, or command-line interface. Since Garima was the only developer on this small project, she chose to build a CI job based on the hypotheses that the build was indeed reasonable and that the testing strategy would be reusable. 

Goal: Create a single pipeline that orchestrates the submission of hundreds of build jobs.

"I like Jenkins because of its user-friendly command-line interface and because there are no external dependencies for implementing the basic features of Jenkins. These features truly make Jenkins rock and, for newbies like me, it’s definitely a must try."
image— Garima Singh, Engineering Student

Solution & Results: The solution I built was just a test case I made to dive into everything Jenkins. It was a Python Script to implement basic Jenkins features without any external libraries. I started by investigating Jenkins API and  HTTP Protocols and HTTP RFCs. My next step was to learn Curl Commands from which I made my starter project. It has two scripts: the first having all the functions and the second one with UnitTest Cases for each function in the first file. 

I like Jenkins because of its user-friendly CLI and because there are no external dependencies for implementing the basic features of Jenkins. As the application grows, I will already have a CI in place to assist additional development efforts along the way. Also, I will know early on if anyone pushes a failed build or test to my project at a later stage. All of the features I’ve explored truly make Jenkins rock and, for newbies like me, it’s definitely a must-try for all.

By using Jenkins, I was able to:

  • create a CI without any external dependencies

  • ensure a reliable test-bed for future builds and releases

  • get a great grade on my engineering assignment