Kristal.AI is a digital wealth platform that aims to provide private banking solutions through transparent access to investment and services, which are traditionally reserved for the Ultra-high net worth. We leverage technology, algorithms, and human expertise to help clients with portfolio allocations and optimization. We are licensed and operational in Singapore, Hong Kong, and India.At the center of Kristal.AI, sits the 35 person engineering team. While small in number, for building and managing our digital wealth management platform. We are the tech-savvy ones and love to try different things to improve the performance, scalability, and reliability of the platform.Amongst other things, the team is driven by this simple motto:"Some things are meant to be done by machines."-โVineeth Narasimhan, Co-Founder & CTO, Kristal.AI.Hereโs our journey of how we built our Android app CI/CD pipeline using Jenkins.
Before we moved to Jenkins. we used to manually attach the QA Android device and give the builds via Android Studio. This made sense to our use case at that time as it saved time, rather than going through the DevOps route.Then with the pandemic and WFH situation, we were forced to rethink this approach as we could no longer give the build manually.We started giving build via Slack. We started sending .apk files directly. Why it failed: The build was dependant on the developerโs machine and it was eating up the developerโs time. What if the developer is on leave or his/her system crashes? We had to do something to eliminate this system/developer dependency.
We then moved our Android build process to Jenkins. We already have our backend build deployments set up via Jenkins. So it only made sense to add our Android build process in the same Jenkins machine that we had in AWS.
Now all our builds of staging and prod build automatically go via Jenkins.In a later section, we get into the details of how we implemented this development. But first let's take a look at how this benefited the platform, the team, and the business overall:
Now to the tech-y part of the article. The Implementation. Hereโs how the team implemented this development, broken down into 3 Jobs:
In a Nutshell :
Workflow Steps Overview :
Workflow In-DepthSummary: This workflow is aimed at providing Android build for testing on a daily purpose. The jobs are run synchronously.No of jobs in the workflow : 3No of machines used: 1 (centOS)Job 1 Steps (Build) :
Job 2 Steps (Uploading to S3) :
Job 3 Steps (Uploading to BrowserStack) :
Job 4 Steps (Uploading to Beta) :
CI/CD is a must in todayโs world which really enhances your tech stack. It really saves a lot of boring, repetitive tasks that can be easily done by machines and also is very cost-effective.
By
Dhruv Jindal
July 7, 2021
Liked it?
Share it with your friends & colleagues!
A fully digital onboarding process that can be completed within 15 minutes.
No more voluminous paperwork and queuing!
I understand the financial products and would want to proceed with investing without a financial guide
Proceed