0
Markus Kopf | arconsis IT-Solutions
Carsten Bokeloh | itemis

  CI & Android Entwicklung
        Wie geht das?
Agenda
• Motivation
• Wieso CI?
• Typisches CI-System
• Demo
• Best Practices
Wer sind wir?

       Carsten Bokeloh
       IT-Consultant itemis

       carsten.bokeloh@itemis.de


       Markus Kopf
 ...
Motivation




         Bei mir geht’s!!!
Was ist CI?

    Continuous Integration ist ein
     Prozess der das regelmäßige,
 vollständige Bauen und Testen einer
   ...
Wo CI?   Wo nicht
Benefits aus Entwicklersicht
• Verfügbares Produkt
• Integrationsaufwand
• Code Qualität
• Transparenz
• Automatisierter Re...
Benefits aus Managersicht
• Verfügbares Produkt
• Kontinuierliche Qualitätskontrolle
• Reduzierung des Projektrisikos
• Bus...
Typisches CI-System
CI-Artefakte Server
• Bamboo
• Cruise Control
• Hudson

• Verwendung von Hudson weil
  –   Viele Plug-ins
  –   Große Comm...
CI-Artefakte Tools
• Ant
  – Build Skripte werden von Android initial
    erstellt


• Maven
  – Verwendbar
CI-Artefakte SCM
• SVN
• Git
• CVS

• Verwendung von SVN
  –   SVN + Hudson = gutes Team
  –   SVN ist sehr verbreitet
  –...
CI-Artefakte Tests
• Unit Tests
• Integration Test
• Android Test-Framework

• UI Tests
  – Robotium
CI-Artefakte Code
• Code Basis
  – NotePad Projekt


• Plattform
  – SDK (Android)
  – Emulator / Device
CI-Artefakte Reporting
• Testresults
• Statische Code-Analyse
  –   Checkstyle
  –   PMD
  –   Findbugs
  –   Sonar
  –   ...
Mapping auf Android
HudsonMobi
Automatisiere Build-Prozess
Build testet Applikation
Teste produktionsnah
Halte Build-Prozess transparent
Automatisiere De...
Nutze Metriken
Kurze Builds
– Commit Build
– Nightly Build
– Integration Build
Fazit
• CI auch für Android
• Build-Prozess leicht aufsetzbar
• Erfahrungswerte aus der JEE-Welt
  vorhanden

• ABER:
  – ...
Links
•   Hudson (http://hudson-ci.org/)
•   Cruise Control (http://cruisecontrol.sourceforge.net/)
•   Bamboo (http://www...
CI und Android - Wie geht das? MTC2010
CI und Android - Wie geht das? MTC2010
Upcoming SlideShare
Loading in...5
×

CI und Android - Wie geht das? MTC2010

1,416

Published on

Talk of mobile tech con 2010 in Mainz.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,416
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide





  • Wieso nicht CI

    Hardwarekosten
    Installationsaufwand
    Mobile Applikationen
    Kurze Lebensdauer
    Keine Produktlinie








  • Monkeytests
    - Test-Framework
    - Unit- + Integrationstest
    Man muss nicht alles Mocken sondern bekommt das frei Haus

  • Wenn man an Android Komponenten etwas erweitert oder andere Komponenten welche nicht im SDK liegen benutzt sollten diese auch mit in den CI Prozess eingebunden werden.





  • Problem weil nur Emulator Tests





  • Transcript of "CI und Android - Wie geht das? MTC2010"

    1. 1. Markus Kopf | arconsis IT-Solutions Carsten Bokeloh | itemis CI & Android Entwicklung Wie geht das?
    2. 2. Agenda • Motivation • Wieso CI? • Typisches CI-System • Demo • Best Practices
    3. 3. Wer sind wir? Carsten Bokeloh IT-Consultant itemis carsten.bokeloh@itemis.de Markus Kopf IT-Consultant arconsis IT-Solutions markus.kopf@arconsis.com
    4. 4. Motivation Bei mir geht’s!!!
    5. 5. Was ist CI? Continuous Integration ist ein Prozess der das regelmäßige, vollständige Bauen und Testen einer Anwendung beschreibt
    6. 6. Wo CI? Wo nicht
    7. 7. Benefits aus Entwicklersicht • Verfügbares Produkt • Integrationsaufwand • Code Qualität • Transparenz • Automatisierter Release
    8. 8. Benefits aus Managersicht • Verfügbares Produkt • Kontinuierliche Qualitätskontrolle • Reduzierung des Projektrisikos • Bus Faktor • Transparenz • Roadmap Planung
    9. 9. Typisches CI-System
    10. 10. CI-Artefakte Server • Bamboo • Cruise Control • Hudson • Verwendung von Hudson weil – Viele Plug-ins – Große Community – Sehr einfache Handhabung – Optisch ansprechend
    11. 11. CI-Artefakte Tools • Ant – Build Skripte werden von Android initial erstellt • Maven – Verwendbar
    12. 12. CI-Artefakte SCM • SVN • Git • CVS • Verwendung von SVN – SVN + Hudson = gutes Team – SVN ist sehr verbreitet – Etabliert – IDE Support
    13. 13. CI-Artefakte Tests • Unit Tests • Integration Test • Android Test-Framework • UI Tests – Robotium
    14. 14. CI-Artefakte Code • Code Basis – NotePad Projekt • Plattform – SDK (Android) – Emulator / Device
    15. 15. CI-Artefakte Reporting • Testresults • Statische Code-Analyse – Checkstyle – PMD – Findbugs – Sonar – ...
    16. 16. Mapping auf Android
    17. 17. HudsonMobi
    18. 18. Automatisiere Build-Prozess Build testet Applikation Teste produktionsnah Halte Build-Prozess transparent Automatisiere Deployment
    19. 19. Nutze Metriken Kurze Builds – Commit Build – Nightly Build – Integration Build
    20. 20. Fazit • CI auch für Android • Build-Prozess leicht aufsetzbar • Erfahrungswerte aus der JEE-Welt vorhanden • ABER: – Kein produktionsnahes Testen – Kein automatisches “Deployment”
    21. 21. Links • Hudson (http://hudson-ci.org/) • Cruise Control (http://cruisecontrol.sourceforge.net/) • Bamboo (http://www.atlassian.com/software/bamboo/) • Sonar (http://www.sonarsource.org/) • HudsonMobi (http://hudson-mobi.com/) • Robotium (http://code.google.com/p/robotium/) • Android Testing (http://developer.android.com/guide/topics/testing/ testing_android.html) • Pmd (http://pmd.sourceforge.net/) • Checkstyle (http://checkstyle.sourceforge.net/) • Findbugs (http://findbugs.sourceforge.net/) • Eclipse (http://eclipse.org/) • Ant (http://ant.apache.org/)
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×