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
Prochain SlideShare
Chargement dans…5
×

CI und Android - Wie geht das? MTC2010

2 296 vues

Publié le

Talk of mobile tech con 2010 in Mainz.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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/)

×