Our Mobility team developed a two-step solution for the company by integrating Sauce Labs with a Jenkins CI/CD (Continuous Integration / Continuous Delivery) pipeline.
Our team created a CI/CD pipeline that defines an automatic build process for every new release. We integrated the pipeline with Sauce Labs, which enables us to certify any device included in the company’s device policy.
With the automation now in place, when the company developers issue a pull request, it signifies a critical change - it causes Jenkins to automatically trigger the build and perform low-level code testing (unit testing). Another Jenkins plugin makes a call to SonarCloud, which performs an automated code quality and security scan.
For Android, Google Firebase stores mobile app builds and provides build information to Sauce Labs. For iOS, Apple TestFlight is used in a similar manner. Sauce Labs provide an automated full-scale testing cloud service across thousands of combinations of mobile browsers, operating systems, and devices.
Key aspects of our solution include:
- Faster feedback on builds: The CI/CD pipeline-enabled automated testing vastly reduces the build release cycle time. The pipeline immediately incorporates build feedback into a release instead of waiting until a later stage.
- No more dependencies on developers: The solution does not require a specific developer to release the build - any resource with sufficient rights can release and test. This avoids delays due to developer dependencies.
- Improved security through key obfuscation: Production key obfuscation techniques used during pipeline creation provide security for applications. The solution restricts access to sensitive data only to an authorized team.
- Dynamic environment selection with single build: When a given build is released, a CI/CD pipeline is enabled to support multiple environments, avoiding build redundancy. Integrating Sauce Labs into a pipeline causes Sauce Labs’ automated testing to be triggered and executed for every build.