CI und Android - Wie geht das? MTC2010

  • 1,326 views
Uploaded on

Talk of mobile tech con 2010 in Mainz.

Talk of mobile tech con 2010 in Mainz.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,326
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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

  • 1. Markus Kopf | arconsis IT-Solutions Carsten Bokeloh | itemis CI & Android Entwicklung Wie geht das?
  • 2. Agenda • Motivation • Wieso CI? • Typisches CI-System • Demo • Best Practices
  • 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. Motivation Bei mir geht’s!!!
  • 5. Was ist CI? Continuous Integration ist ein Prozess der das regelmäßige, vollständige Bauen und Testen einer Anwendung beschreibt
  • 6. Wo CI? Wo nicht
  • 7. Benefits aus Entwicklersicht • Verfügbares Produkt • Integrationsaufwand • Code Qualität • Transparenz • Automatisierter Release
  • 8. Benefits aus Managersicht • Verfügbares Produkt • Kontinuierliche Qualitätskontrolle • Reduzierung des Projektrisikos • Bus Faktor • Transparenz • Roadmap Planung
  • 9. Typisches CI-System
  • 10. CI-Artefakte Server • Bamboo • Cruise Control • Hudson • Verwendung von Hudson weil – Viele Plug-ins – Große Community – Sehr einfache Handhabung – Optisch ansprechend
  • 11. CI-Artefakte Tools • Ant – Build Skripte werden von Android initial erstellt • Maven – Verwendbar
  • 12. CI-Artefakte SCM • SVN • Git • CVS • Verwendung von SVN – SVN + Hudson = gutes Team – SVN ist sehr verbreitet – Etabliert – IDE Support
  • 13. CI-Artefakte Tests • Unit Tests • Integration Test • Android Test-Framework • UI Tests – Robotium
  • 14. CI-Artefakte Code • Code Basis – NotePad Projekt • Plattform – SDK (Android) – Emulator / Device
  • 15. CI-Artefakte Reporting • Testresults • Statische Code-Analyse – Checkstyle – PMD – Findbugs – Sonar – ...
  • 16. Mapping auf Android
  • 17. HudsonMobi
  • 18. Automatisiere Build-Prozess Build testet Applikation Teste produktionsnah Halte Build-Prozess transparent Automatisiere Deployment
  • 19. Nutze Metriken Kurze Builds – Commit Build – Nightly Build – Integration Build
  • 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. 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/)