Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Presentation for the DevFest NYC

Presentation for the DevFest NYC

Presentation for the DevFest NYC

Enrique López Mañas

December 05, 2016
Tweet

More Decks by Enrique López Mañas

Other Decks in Programming

Transcript

  1. None
  2. Agenda: -Intro -Jenkins -Gradle -Branching strategies -Testing -Outro

  3. Ego slide Freelance Android Dev Google Developer Expert +EnriqueLópezMañas @eenriquelopez

  4. Continuous Integration Continuous merging Continuous testing Continuous building Continuous delivery

  5. What do you need Jenkins Gradle A repository A merging

    strategy Your project!
  6. Jenkins Leading Continuous Integration Server Open Source Java Plugin Based

  7. None
  8. Powerful plugin system Android… Git… Bitbucket… Emulators..

  9. nvie.com

  10. None
  11. None
  12. None
  13. master

  14. master beta/stage

  15. master alpha/develop beta/stage

  16. master alpha/develop beta/stage

  17. master alpha/develop beta/stage

  18. master alpha/develop beta/stage

  19. master alpha/develop beta/stage Initial commit

  20. master alpha/develop beta/stage Initial commit

  21. 1.0.1 master alpha/develop beta/stage Initial commit

  22. 1.0.1 master alpha/develop beta/stage Initial commit feature-1

  23. 1.0.1 master alpha/develop beta/stage Initial commit feature-1

  24. 1.0.1 master alpha/develop beta/stage Initial commit feature-1

  25. 1.0.1 master alpha/develop beta/stage 1.0.2 Initial commit feature-1

  26. 1.0.1 master alpha/develop beta/stage 1.0.2 Initial commit feature-1 feature-2

  27. 1.0.1 master alpha/develop beta/stage 1.0.2 Initial commit feature-1 feature-2

  28. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit feature-1 feature-2

  29. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit feature-1 feature-2

  30. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 feature-1

    feature-2
  31. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 bug-1

    feature-1 feature-2
  32. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5

    bug-1 feature-1 feature-2
  33. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5

    bug-1 bug-2 feature-1 feature-2
  34. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5

    bug-1 bug-2 feature-1 feature-2
  35. 1.0.1 master alpha/develop beta/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
  36. 1.0.1 master alpha/develop beta/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
  37. 1.0.1 master alpha/develop beta/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
  38. 1.0.1 master alpha/develop beta/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
  39. 1.0.1 master alpha/develop beta/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
  40. 1.0.1 master alpha/develop beta/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
  41. 1.0.1 master alpha/develop beta/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
  42. 1.0.1 master alpha/develop beta/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
  43. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 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
  44. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.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
  45. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.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
  46. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.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
  47. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.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
  48. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.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
  49. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.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
  50. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.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
  51. 1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.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
  52. None
  53. 1.8.0 master alpha/develop beta/stage 1.7.7 1.6.18

  54. 1.8.0 master alpha/develop beta/stage 1.7.7 1.6.18

  55. 1.8.0 master alpha/develop beta/stage 1.7.7 1.6.18 bug-234

  56. 1.8.0 master alpha/develop beta/stage 1.7.7 1.7.8 1.6.18 bug-234

  57. 1.8.0 master alpha/develop beta/stage 1.7.7 1.7.8 1.6.18 bug-234 feature-254

  58. 1.8.0 master alpha/develop beta/stage 1.8.1 1.7.7 1.7.8 1.6.18 bug-234 feature-254

  59. 1.8.0 master alpha/develop beta/stage 1.8.1 1.7.7 1.7.8 1.6.18 bug-234 bug-643

    feature-254
  60. 1.8.0 master alpha/develop beta/stage 1.8.1 1.7.7 1.7.8 1.6.18 hotfix bug-234

    bug-643 feature-254
  61. 1.8.0 master alpha/develop beta/stage 1.8.1 1.7.7 1.7.8 1.6.18 1.6.19 hotfix

    bug-234 bug-643 feature-254
  62. 1.8.0 master alpha/develop beta/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
  63. 1.8.0 master alpha/develop beta/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
  64. 1.8.0 master alpha/develop beta/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
  65. 1.8.0 master alpha/develop beta/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
  66. 1.8.0 master alpha/develop beta/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
  67. 1.8.0 master alpha/develop beta/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
  68. 1.8.0 master alpha/develop beta/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
  69. 1.8.0 master alpha/develop beta/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
  70. 1.8.0 master alpha/develop beta/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
  71. 1.8.0 master alpha/develop beta/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
  72. 1.8.0 master alpha/develop beta/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
  73. 1.8.0 master alpha/develop beta/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
  74. 1.8.0 master alpha/develop beta/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
  75. 1.8.0 master alpha/develop beta/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
  76. 1.8.0 master alpha/develop beta/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
  77. 1.8.0 master alpha/develop beta/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
  78. 1.8.0 master alpha/develop beta/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
  79. 1.8.0 master alpha/develop beta/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
  80. 1.8.0 master alpha/develop beta/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
  81. 1.8.0 master alpha/develop beta/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
  82. 1.8.0 master alpha/develop beta/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
  83. Project automation tool (Maven, Ant…) Groovy DSL

  84. An entire discipline!

  85. An entire discipline!

  86. HockeyKit (free) Apphance (free) AppBlade (paid) Appaloosa (paid) Beta Builder

    (freemium)
  87. Thank you ! + Enrique López Mañas @eenriquelopez