In today's rapidly changing business world, where competition is fierce, Pirai aims to deliver high-quality mobile apps quickly and efficiently to meet customer demands, along with high business value. This way we always stay ahead of the competition. Similar to any other type of software developments, mobile application development also need CI/CD to helps developers automate the entire software delivery process, from code development to deployment, testing, and release.
One of Pirai's client wanted to develop a mobile application to complement their Website. It is basically an accounting application that stores and handles product price, discount rates, inventories, customer account and lot more. This app has to handle critical and analytical data. Pirai took extra steps in choosing the right tools and technologies to make the development and deployment smooth.
Mobile applications are developed with platform specific tools, languages are highly customised. These applications are installed directly to user’s device and they are optimised for small screens and touch based interfaces. Few factors like rapid release cycles, consistent quality, early bug detection and improved collaboration are most important to be considered while developing the application. CI/CD practices helped Pirai to cover all such critical factors and helped the team to improve efficiency, quality, and collaboration in the development process.
When Pirai decided to practice CI/CD for mobile application, choosing the right CI/CD tool that suites the project requirement was a difficult task as there were many options available in the market. A study about different tools available is done and team choose CircleCI for mobile app development.
CircleCI is a cloud-based CI/CD tool that can help development teams accelerate their workflows and deliver high-quality software applications with greater speed and reliability.
Image:
https://circleci.com/continuous-integration/#continuous-integration-ci-vs-continuous-deployment-cdEasy to get started.
Integrates widely with cloud-native or multi-platform tools.
Offers end-to-end automation of the build and test process.
Facilitates continuous integration process.
Enables fast feedbacks.
Scalability
Parallelism - Run parallel tests to speeds up the testing process and allows for faster feedback on code changes.
Customizable Workflows - Customizable workflow engine that allows developers to create complex build, test, and deployment pipelines
Security and Compliance - Wide range of security and compliance features, including encrypted build artifacts and support for compliance frameworks such as SOC 2 and GDPR
Resource classes - Allows to optimize CPU and RAM resources for each job
Orbs - Reusable packages of YAML configuration that condense repeated pieces of config into single lines of code.
Matrix jobs - Allows to run a parameterized job multiple times with different arguments.
Parameters - Pipeline variables, environment variables and contexts are parameters that allow users to store and reuse data and to protect sensitive information.
Approvals - Workflows can be programmed to wait for manual approval of a job before moving on.
Listing below few best practices of Pirai:
Plan the build process prior and repeat them in configuration file.
Split test jobs based on time or functionality.
Understand the resource needed and use parallelism to maximize testing efficiency.
Make use of Orbs libraries, which provides options to add many tools.
Enables fast feedbacks.
Caching dependencies and reuse data.
Below are few benefits that Pirai experienced after configuring CircleCI:
CircleCI provides options to troubleshoot via SSH and helps in identifying and resolving the build issues quickly.
It allows the .yml files to run parallelly
It allows caching with simple keys and the data could be reused in workflow.
CircleCI allows developers to automate the build, test, and deployment process of mobile applications, which improves speed and efficiency of development process.
It supports wide range of programming languages and cross-platforms, including Android and iOS mobile applications, making it easy to build, test, and deploy applications for multiple platforms.
CircleCI helps in meeting scalability based on needs and complexity of application.
It supports wide range of testing options to ensure quality and reliability of mobile application.