droidconIN 2016

The sixth edition of droidconIN

Akhil Gupta


How CI/CD helps us in avoiding chaos @Go-Jek

Submitted Aug 10, 2016

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.

Build pipeline
  • Build
  • Unit tests
  • Espresso tests
  • Smoke tests
Build Flavours
  • Local-avoid building all flavours to improve developer productivity
    • Dev (optimized for developers)
  • CI
    • Staging
    • Nighly
    • Alpha
    • Production
Customizing Gradle
  • Using environment variables
  • Test reports generation
  • Customizing local and CI gradle
    • Configuring flavours
    • Configuring third party integrations only for CI
      • New Relic
      • Fabric
Regression and end to end tests(Gojek)
  • Appium
  • Parallel on physical devices / AVDs
  • Automated Testing interaction between Driver & Consumer
    • Using Rest API’s
    • Using Backdoor API’s
Plugin Integrations
  • Slack
  • Bitbucket
  • Email
  • Jira
  • Cucumber JVM Reports
Jenkins Job Configuration using Job DSL


Speaker bio

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.

Akhil is passionate full stack developer with Go-Jek Engineering, He loves to write, refactor code. He has vast experience in mobile app domain. He also answers questions on stackoverflow


{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}