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

Continuous Integration for Android

Continuous Integration for Android

Using Automation to save time and spend more time on development

Avatar for shredderskelton

shredderskelton

July 16, 2016

More Decks by shredderskelton

Other Decks in Programming

Transcript

  1. twitter.com/@nshred medium.com/@nickskelton Don’t mix bugs and features • We were

    skipping releases because we mixed features with bug fixes • The solution was to create 3 Branches (alpha, beta, production) with 3 corresponding CI jobs. • Separating stable changes from unstable changes, enabled releases to happen.
  2. 1.8(0)-a production alpha beta 1.8(1)-a 1.8(2)-a 1.7(4)-b 1.7(5)-b 1.7(6)-b 1.7(7)-b

    1.6.0 1.6.1 1.7.0 1.8(3)-a 1.8(8)-b 1.9(5)-a 1.9(6)-a 1.8(9)-b 1.8(10)-b 1.8.(11)-b 1.8.0 1.9(7)-a 1.9(12)-b 1.9(4)-a hotfixr bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348 com.company.product com.company.product.beta com.company.product.alpha Android Branching Strategy http://www.androidshortcuts.com/a-scaleable-git-branching-strategy-for-android/
  3. twitter.com/@nshred medium.com/@nickskelton Static Code Analysis • Lint (Android specific) •

    DRY (don’t repeat yourself)/ CPD (copy paste detector) • CheckStyle (code style) • SonarQube (standalone code analysis for the serious projects)
  4. twitter.com/@nshred medium.com/@nickskelton Links • My article on branching http://www.androidshortcuts.com/a-scaleable-git- branching-strategy-for-android/

    • Nvie’s original article http://nvie.com/posts/a-successful-git-branching- model/ • Copy Paste Detection (DRY/CPD) and Code Style Checking (PMD) http:// pmd.sourceforge.net/cpd.html • Sonar Qube for the serious stats on your code http://www.sonarqube.org/ • Grade scripts for generating a versionName and Number https:// github.com/shredderskelton/gradle-scripts • Shell project used in the demo https://github.com/shredderskelton/ androidtemplate