Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Android Mobile Continuous Integration. UA Mobile 2016.

244 views

Published on

Enrique López Mañas. Android Google Developer Expert (GDE).
Software Engineer at Stadtwerke München GmbH.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Android Mobile Continuous Integration. UA Mobile 2016.

  1. 1. Agenda: -Intro -Jenkins -Gradle -Branching strategies -Testing -Outro
  2. 2. Continuous Integration Continuous merging Continuous testing Continuous building Continuous delivery
  3. 3. What do you need Jenkins Gradle A repository A merging strategy Your project!
  4. 4. Jenkins Leading Continuous Integration Server Open Source Java Plugin Based
  5. 5. Powerful plugin system Android… Git… Bitbucket… Emulators..
  6. 6. nvie.com
  7. 7. master
  8. 8. master beta/stage
  9. 9. master alpha/developbeta/stage
  10. 10. master alpha/developbeta/stage
  11. 11. master alpha/developbeta/stage
  12. 12. master alpha/developbeta/stage
  13. 13. master alpha/developbeta/stage Initial commit
  14. 14. master alpha/developbeta/stage Initial commit
  15. 15. 1.0.1 master alpha/developbeta/stage Initial commit
  16. 16. 1.0.1 master alpha/developbeta/stage Initial commit feature-1
  17. 17. 1.0.1 master alpha/developbeta/stage Initial commit feature-1
  18. 18. 1.0.1 master alpha/developbeta/stage Initial commit feature-1
  19. 19. 1.0.1 master alpha/developbeta/stage 1.0.2 Initial commit feature-1
  20. 20. 1.0.1 master alpha/developbeta/stage 1.0.2 Initial commit feature-1 feature-2
  21. 21. 1.0.1 master alpha/developbeta/stage 1.0.2 Initial commit feature-1 feature-2
  22. 22. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit feature-1 feature-2
  23. 23. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit feature-1 feature-2
  24. 24. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 feature-1 feature-2
  25. 25. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 bug-1 feature-1 feature-2
  26. 26. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 bug-1 feature-1 feature-2
  27. 27. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 bug-1 bug-2 feature-1 feature-2
  28. 28. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 bug-1 bug-2 feature-1 feature-2
  29. 29. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 1.0.6 bug-1 bug-2 feature-1 feature-2
  30. 30. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 1.0.6 bug-1 bug-2 bug-3 feature-1 feature-2
  31. 31. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 1.0.6 bug-1 bug-2 bug-3 feature-1 feature-2
  32. 32. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2
  33. 33. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2
  34. 34. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 1.0.8
  35. 35. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 1.0.8 hotfix
  36. 36. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 1.0.8 1.0.9 hotfix
  37. 37. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.1.01.0.4 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 1.0.8 1.0.9 hotfix
  38. 38. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.1.01.0.4 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 1.0.8 1.0.9 hotfix
  39. 39. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.1.01.0.4 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 1.0.8 1.0.9 hotfix
  40. 40. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.1.01.0.4 1.1.1 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 1.0.8 1.0.9 hotfix
  41. 41. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.1.01.0.4 1.1.1 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 feature-348 1.0.8 1.0.9 hotfix
  42. 42. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.1.01.0.4 1.1.1 1.1.2 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 feature-348 1.0.8 1.0.9 hotfix
  43. 43. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.1.01.0.4 1.1.1 1.1.2 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 feature-348 1.0.8 1.0.9 hotfix 1.1.3
  44. 44. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.1.01.0.4 1.1.1 1.1.2 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 feature-348 1.0.8 1.0.9 hotfix 1.1.3
  45. 45. 1.0.1 master alpha/developbeta/stage 1.0.2 1.0.3 Initial commit 1.1.01.0.4 1.1.1 1.1.2 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 feature-348 1.0.8 1.0.9 hotfix 1.1.3 1.1.4
  46. 46. 1.8.0 master alpha/developbeta/stage 1.7.71.6.18
  47. 47. 1.8.0 master alpha/developbeta/stage 1.7.71.6.18
  48. 48. 1.8.0 master alpha/developbeta/stage 1.7.71.6.18 bug-234
  49. 49. 1.8.0 master alpha/developbeta/stage 1.7.7 1.7.8 1.6.18 bug-234
  50. 50. 1.8.0 master alpha/developbeta/stage 1.7.7 1.7.8 1.6.18 bug-234 feature-254
  51. 51. 1.8.0 master alpha/developbeta/stage 1.8.1 1.7.7 1.7.8 1.6.18 bug-234 feature-254
  52. 52. 1.8.0 master alpha/developbeta/stage 1.8.1 1.7.7 1.7.8 1.6.18 bug-234 bug-643 feature-254
  53. 53. 1.8.0 master alpha/developbeta/stage 1.8.1 1.7.7 1.7.8 1.6.18 hotfix bug-234 bug-643 feature-254
  54. 54. 1.8.0 master alpha/developbeta/stage 1.8.1 1.7.7 1.7.8 1.6.18 1.6.19 hotfix bug-234 bug-643 feature-254
  55. 55. 1.8.0 master alpha/developbeta/stage 1.8.1 1.7.7 1.7.8 1.7.9 1.6.18 1.6.19 hotfix bug-234 bug-643 feature-254
  56. 56. 1.8.0 master alpha/developbeta/stage 1.8.1 1.7.7 1.7.8 1.7.9 1.6.18 1.6.19 hotfix bug-234 bug-643 feature-254 feature-345
  57. 57. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.6.18 1.6.19 hotfix bug-234 bug-643 feature-254 feature-345
  58. 58. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 hotfix bug-234 bug-643 feature-254 feature-345
  59. 59. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 hotfix bug-234 bug-643 feature-254 feature-345
  60. 60. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 hotfix bug-234 bug-643 feature-254 feature-345
  61. 61. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 hotfix bug-234 bug-643 feature-254 feature-345
  62. 62. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.0 hotfix bug-234 bug-643 feature-254 feature-345
  63. 63. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.0 hotfix bug-234 bug-643 feature-254 feature-345 feature-347
  64. 64. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.0 hotfix bug-234 bug-643 feature-254 feature-345 feature-347
  65. 65. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.0 hotfix bug-234 bug-643 bug-233 feature-254 feature-345 feature-347
  66. 66. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.8.5 1.9.0 hotfix bug-234 bug-643 bug-233 feature-254 feature-345 feature-347
  67. 67. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.8.5 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 feature-254 feature-345 feature-347
  68. 68. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.8.5 1.8.6 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 feature-254 feature-345 feature-347
  69. 69. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.8.5 1.8.6 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347
  70. 70. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.8.5 1.8.6 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
  71. 71. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.2 1.8.5 1.8.6 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
  72. 72. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.2 1.8.5 1.8.6 1.8.7 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
  73. 73. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.2 1.8.5 1.8.6 1.8.7 1.8.8 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
  74. 74. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.2 1.8.5 1.8.6 1.8.7 1.8.8 1.9.3 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
  75. 75. 1.8.0 master alpha/developbeta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10 1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.2 1.8.5 1.8.6 1.8.7 1.8.8 1.9.3 1.9.4 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
  76. 76. Project automation tool (Maven, Ant…) Groovy DSL
  77. 77. An entire discipline!
  78. 78. An entire discipline!
  79. 79. HockeyKit (free) Apphance (free) AppBlade (paid) Appaloosa (paid) Beta Builder (freemium)
  80. 80. Thank you ! + Enrique López Mañas @eenriquelopez

×