How CI/CD helps us in avoiding chaos @Go-Jek
Submitted by Akhil Gupta (@akhilgupta) on Wednesday, 10 August 2016
Section: Full talk (40 minutes) Technical level: Intermediate
We all build to SCALE. With scaling you face ISSUES, CI helps in tackling these issues. This talk is intended for Devs, QAs and Product managers
“GO-JEK is the largest consumer technology company in Indonesia, the world’s 4th largest >market by population.With over 20 million downloads, the GO-JEK app has become the leading >transport, courier, and hyperlocal shopping app in the country”.
We will be discussing how we conquered challenges we faced in Gojek. With challenges including having multiple products in an app, many stakeholders and distributed nature of the team, CI is what came to our rescue. What we want to tell the audience is the importance of CI and how to use it in an effective manner sharing our experiences
We will be covering all below along with what chalenges we faced and how we conquered them.
- Unit tests
- Espresso tests
- Smoke tests
- Local-avoid building all flavours to improve developer productivity
- Dev (optimized for developers)
- Using environment variables
- Test reports generation
- Customizing local and CI gradle
- Configuring flavours
- Configuring third party integrations only for CI
- New Relic
Regression and end to end tests(Gojek)
- Parallel on physical devices / AVDs
- Automated Testing interaction between Driver & Consumer
- Using Rest API’s
- Using Backdoor API’s
- Cucumber JVM Reports
Jenkins Job Configuration using Job DSL
Akhil and Gurupratap both works at Go-Jek Engineering and are copresenting this talk.
Gurupratap is an Android developer, he has been working on Android Apps and the CI/CD setup for the iOS/Android builds.