Development of CI-CD pipeline to enhance the organization's software delivery procedures and enable quicker releases.
Business Vertical:
Cybersecurity
Region:
USA
Main Challenge:
Continuous Integration and Deployment
Overview
Business Need
The client needed to enhance their software delivery procedures by embracing Continuous Delivery principles, in order to achieve quicker releases, better software quality, and more efficient engineering workflows. Some of the objectives of this project included reducing code complexity, possible vulnerabilities, and code duplications, improving collaboration between teams, reducing deployment failures, rollbacks, and time to recover, reducing time to market, and releasing mobile apps to multiple environments and stores.
Challenges
Solution
Our team of DevOps Engineers created a robust CI/CD pipeline using Bitbucket as a source code repository, Jenkins as a CI, and Fastlane as CD automation tools. We also employed SonarQube and quality gates recommended by the industry to speed up the deployment, testing, and to produce the highest-quality code. The mobile app delivery lifecycle includes building, unit testing, monitoring each stage via Slack notifications, and addressing every aspect of continuous delivery.
Some of the key components of the solution include dedicated alpha and beta environments in the Apple and Play stores, integrated Unit and Smoke tests within the Pipeline, and quick detection of errors, vulnerabilities, code duplications, and bugs. Pipeline stage monitoring ensures that each stage is monitored and addressed during the continuous delivery process.
Technologies Used
Jenkins, SonarQube, Fastlane, Bitbucket, EC2 MAC instance, Slack
Result
The implementation of a fully automated CI/CD system has significantly improved the development cycle by speeding up the deployment process and eliminating the risk of manual error. As a result, 30% of developers’ time is now invested in coding instead of manual deployments and resolving bugs. The entire process that would have taken around 3-4 hours with manual implementation for a CI/CD solution is now completed in just 10 minutes.
The solution has also led to a 25% reduction in code duplication and improved code coverage from 25% to 90%. Furthermore, 98% of the code smells, vulnerabilities, bugs, and hotspots were removed. The implementation of the solution has helped the client achieve their objectives, including establishing a DevOps culture, growing their company, establishing benchmarks for engineering teams, and automating manual deployment and code review procedures.