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."
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