Background: Our company's sole focus is digital transformation, so it is important that we provide this to our clients. For one large telecom client, we needed quicker development feedback cycles, from code commit to release. We wanted automatic quality assurance at different stages of the process. These variables included: code coverage target, sonar issues analysis, fortify, unit test, integration tests, front end validations, and more. We also needed better oversight of deployment to different environments to support various operating systems.
Goals: State-of-the-art telecommunications management platform, with the use of agnostic hardware.
Solution & Results:
Jenkins allowed us to have a rigorous and reliable development process. The continuous delivery of the software process was designed and architectured in a very transparent manner. This allowed the identification of all the steps and components in a straightforward and effortless manner.
"Life is so much easier for the developers that they can really focus on delivering functionality. We really feel like ninjas with so much automated cool stuff!
That drove us – the development team – to look into our Jenkins pipeline as a powerful support tool and one of our safeguards in our daily work. Jenkins was part of our conversation in our Agile retrospectives, or root cause analysis, to automate more and more of the process or pieces that we hadn't even thought about before.
We started with night builds that would run some selenium tests, and we ended up with a complete analysis on every commit and deployments on every merge request. This included improvements in integration, front-end and load tests, as well as security analysis.
We used the Jenkins Pipeline plugin, which helps us approach infrastructure and the pipeline as a software set that can now be versioned. That was a big plus. Also, it simplified the design, as all were described in one file.
The use of the Jira plugin was also a great plus. It allows us to keep pipeline aspects visible in Jira as our source-of-truth tool. This is really important, as Jenkins is a developer's tool that management is not familiar with. This made it possible to incorporate management visibility as well.
We are pleased with our enhancements, resulting in: