Background: We were looking for the best open source CI/CD tool to host on the cloud, which will help us build and deploy critical legacy telecom applications faster and assist in scheduling database automation and regression test automation jobs.
We also wanted to set up the standard CI tool for all applications so that we can promote Jenkins and build the same experience for all developers at Vodafone Ireland. The tool has to be easy to learn, easy to build, easy to test, and easy to deploy.
Most importantly, we will be supporting business-critical applications. Since a large section of Ireland's population is dependent on Vodafone's network (also the new 5G launch is happening), it is essential to use a highly reliable CI/CD platform that can support the rapid development cycle.
Goals: To maximize budget, we were looking for a way to automate CI/CD and migrate on-premise telecom applications to the cloud.
Jenkins helped us to reach our goal to save unnecessary costs for the enterprise by automating CI/CD, test and backup jobs. We were able to schedule IT using Cron job, as well as completing all work before it was due. This allowed IT to get back to personal lives instead of overworking, and make life easier for all during the COVID pandemic.
Solution & Results: The main challenges we faced in choosing the best CI/CD is the availability of plugins and a diverse and trusted open-source community to support our latest development.
Jenkins is the best CI/CD platform in the world because it's simple to use and provides an easy learning curve to any newbie. Jenkins helped us achieve a faster time to deploy and made it easy to build software in incremental versions. We are using Jenkins to build legacy telecom apps and modern web apps written in JavaScript, along with running the regression test written in Mocha and Webdriver. The wide range of plugins and the easy notification to email/Slack are just awesome.
Jenkins is open-source, and we are using a Fargate container to run our slaves to avoid paying charges when not using. We have increased rapid deployment to production by 55-60% and the cost of using proprietary CI/CD by 80%.
We are hoping to use it in scale and bring more applications in the coming quarter.
We primarily used Docker image to create a standard image for different slaves, which helped to deploy on AWS Fargate and helped to store all the Jenkins configuration in the config.xml file. We also used it for storing the backups. It was easy to migrate Jenkins to the upper version just by changing a few lines in the standard Docker file. We used Maven/Gradle for building. Loved the notification service plugin to integrate any software that helped us a lot. We also used Jenkins DSL pipeline to automate the deployment.
Thank you for the awesome customer-first experience. Jenkins's descriptive pipelines, shared library, custom plugins, etc., actually helped us automate more and reduce overall manual labor for maintenance. We also were impressed with how reliable Jenkins is and how we could use the LDAP server to assign and segregate different project teams and assign permissions easily. Jenkins also offered easy integration with GitHub, JFrog Artifactory, etc.
The results we saw were very impressive: