Jenkins is the way to help teams focus on what is really important

One Pipeline To Build 'Em All

Submitted By Jenkins User Eduardo Mandry
Improving the time to market of all microservices and websites for this Chilean digital solutions company in support of a fintech client.
Industries: IT, Financial
Programming Languages: Java, Node.js
Version Control Systems: GitLab
Community Support: Jenkins.io websites & blogs

Great plugins and a shared library are the making of a super flexible CI/CD platform.

Background: The company I work for provides platforms and services that are 100% digital, so the management of our solutions is more agile and simple. We found that it’s best  to have a single point of integration and deployment for all teams, from developer to operations. 

To have a standardized way to build and deploy applications, they need to be fully configurable as well as able to integrate with servers, code repositories and binary repositories — all while being a flexible solution, based on code.

Goals: Minimize time to market of all microservices and websites.

"Because Jenkins is open source, full of plugins, and is able to connect different services, it is the best solution available."
image— Eduardo Mandry, DevOps

Solution & Results: I developed a full shared library using some plugins, direct API calls, and a brand new process. In order to simplify the use of Jenkins, the pipeline file was the same for all the projects and the shared library reads a configuration file, in a key-value format, so it handles the behavior of Jenkins.

In the new pipeline, the building, testing and validation were consistently executed. It is now able to report security issues or quality degradation. Using the same principle for the deployment part, I made building blocks – download artifacts, install, validation check, git tagging – as different procedures. So depending on the stage, whether it’s development, testing, UAT, or production, you could use one set or another. With this approach, we were able to  reuse a lot of the code.

I worked with a shared library in one hand and with these great plug-ins in the other:

  • Publish over SSH

  • Artifactory

  • Active Choices

  • Mask Password

Because Jenkins is open source, full of plugins and able to connect different services, it is the best solution available. With the help of Jenkins, we were able to:

  • standardize the development and deployment process

  • include quality verifications and metrics

  • minimize the onboarding time for new projects

Plus, installation in production went from 30 minutes to 5 minutes!