Yoda Response: Certainly, Avi. In my role at Capgemini, I was responsible for setting up and maintaining the CI/CD pipeline for the HSBC Banking application.

We used Jenkins as our CI/CD tool to automate the build, test, and deployment processes. The pipeline was configured to trigger automatically whenever code was pushed to the repository, ensuring that the latest changes were always integrated and tested promptly.

For automated testing, we implemented unit tests using JUnit and Mockito, and UI tests using Espresso. These tests were integrated into the Jenkins pipeline to run automatically with each build. This helped us catch issues early and maintain a high level of code quality.

We also used Gradle as our build automation tool. Gradle scripts were configured to handle tasks such as dependency management, code obfuscation, and APK signing. This ensured that the build process was consistent and repeatable.

Additionally, we used SonarQube for static code analysis to continuously monitor code quality and identify potential vulnerabilities. The results were integrated into our Jenkins pipeline, providing immediate feedback to developers.

This CI/CD setup significantly improved our development workflow, reducing manual effort and ensuring faster, more reliable releases.