Continuous Integration for Android




March 6th, 2013
What we want

                      Builds
                      Metrics
SCM      Magic
                     Statistics
                     Reports
What we want

                      Builds
                      Metrics
SCM      Magic
                     Statistics
                     Reports
Android build process
Android build process
Android build process
Additional routines

Different build types   Testing
- Debug                 - Unit tests
- Release               - Automatic black-box tests
                        - Monkey test
Documentation
- Javadoc               Obfuscating
                        - ProGuard
Sources code analysis
- Lint
- FindBugs
- PMD
- Copy-paste detector
- CheckStyle
Builders
Builders
CI software
Jenkins
Jenkins plugins

- Android Lint Plugin
- Checkstyle Plugin
- PMD Plugin
- FindBugs Plugin
- Static Analysis Utilities
- Duplicate Code Scanner Plug-in
- Android Emulator Plugin
- ...
Android Emulator Plugin
Android Emulator Plugin
Android Emulator Plugin




Android monkey test: Succeeded after 500 events
Nodes

           Master
           (Linux)




 Slave     Slave       Slave
(Linux)    (Mac)     (Windows)
Nodes
                      Android


                      Master
                      (Linux)




      Slave            Slave       Slave
     (Linux)           (Mac)     (Windows)


PHP, Java backends     iOS      .Net backends
About me

    dnipro.gdg.org.ua




Alexey Ustenko
Android developer
bit.ly/AlexeyUstenko

Ci for Android