Save 37% off PRO during our Black Friday Sale! »

Dude, Where's My Build? Android CI CD at Uber

Dude, Where's My Build? Android CI CD at Uber

A great CI system is essential to ship quality code, fast. CI for Android development is a problem that has been solved before, but it gets a lot more interesting to keep the same quality and speed with hundreds of changes a day and hundreds of developers working on the same project. In this talk, Gautam will walk through the history of Android CI at Uber, the UX improvements for developers interacting with it and how it evolved into delivering release builds on every change. You will also learn how to incorporate such processes into your CI and CD workflows.

3f9ebfb254c56d281d91bbee960219a8?s=128

Gautam Korlam

August 28, 2018
Tweet

Transcript

  1. Dude, Where's My Build? Android CI/CD at Uber Gautam Korlam

    Android Developer Experience, Uber @kageiit
  2. CI

  3. https://jenkins.io +

  4. Android CI at Scale

  5. History

  6. None
  7. None
  8. arc diff Phabricator diff Local validation Build Lint Test arc

    land Code Repo CI Workflow
  9. None
  10. None
  11. Problems

  12. Red Master

  13. None
  14. Error Logs!

  15. Release

  16. Present

  17. None
  18. Reliable

  19. Fast

  20. Trust

  21. None
  22. Cache

  23. None
  24. None
  25. Submit Queue

  26. Build Lint Unit Test UI Test arc diff Phabricator diff

    Local validation Build Lint Test arc land Code Repo Submit Queue CI Workflow
  27. None
  28. Developer Experience

  29. Logs

  30. In-line Error Reporting

  31. None
  32. None
  33. Test Failures

  34. None
  35. None
  36. Repro Commands

  37. Assisted Code Cleanup

  38. None
  39. Oncall

  40. Flakiness

  41. None
  42. Flaky Tests

  43. None
  44. None
  45. Two Apps in One

  46. Build Lint Unit Test UI Test arc diff Phabricator diff

    Local validation Build Lint Test arc land Code Repo Submit Queue CD Workflow Continuous Delivery Metro
  47. None
  48. None
  49. In Practice

  50. Intercept Gradle Errors git.io/fA3fW

  51. Control Test Logging TestLoggingContainer

  52. Report Analysis In-line violations-lib Checks API: Github, Gitlab

  53. Measure Gradle Build Scans , Gradle Profiler

  54. Enforce

  55. Thank You Gautam Korlam @kageiit