Background: Working for a company that provides an AI-powered multi-cloud governance solution, we empower enterprises to rapidly achieve continuous and autonomous cloud governance at scale. We also help customers to realize outcomes such as a 40% decrease in cloud costs and a 50% increase in operational efficiencies by governing operations, security, cost, access, and resources.
Our product has 35 repositories, multiple release branches, and 35 microservices that are performing the various required automated cloud operations in consumer's cloud accounts (AWS, Azure, GCP).
The team was looking to efficiently automate the operations outlined below:
With Jenkins, I am able to implement reliable multiple deployments in a shorter time and with less effort.
Goals: Our goal was instant code deployment, validation, and report generation to reach high-speed software development.
Solution & Results: The various client requirements have rapidly increased the development of our product by 2.5 years. Usually, our product deployment has many steps, including the repository refresh, DB schema update, application-related scripts, etc. Initially, we started with a simple freestyle job for the repositories using the git plugin and polling. After defining the clean steps for deployment, we started implementing the Jenkins pipeline for the entire product deployment. We did Jenkins integrations with artifactory, cloud agents, Sonarscanner, Docker agents, Ansible VCS, and Microsoft Teams.
We achieved continuous integration by integrating the Gerrit server with Jenkins. We also created the dedicated declarative Jenkins pipeline jobs to handle the entire deployment in different environments. We now have control over the deployment, and the pipeline reduced the deployment time. This dramatically improved the quality of the deployment.
After every deployment, there are certain test cases and selenium-based validation triggered by Jenkins.
In some environments, we are following CI-based deployment. In other environments, the job will be triggered through the Jenkins UI, Jenkins API, or Microsoft teams. Using Office 365 Connector and Extended Email notification plugins, we are getting the build results we hoped for.
Apart from CI and On-Demand triggers, we also have timely jobs responsible for product health report generation and Sonarscanner code quality validation. Because of this Jenkins feature, we can control the frequency of builds.
We used the following Jenkins capabilities: