CI und Android - Wie geht das? MTC2010
Upcoming SlideShare
Loading in...5
×
 

CI und Android - Wie geht das? MTC2010

on

  • 1,653 views

Talk of mobile tech con 2010 in Mainz.

Talk of mobile tech con 2010 in Mainz.

Statistics

Views

Total Views
1,653
Views on SlideShare
1,653
Embed Views
0

Actions

Likes
0
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • Wieso nicht CI <br /> <br /> Hardwarekosten <br /> Installationsaufwand <br /> Mobile Applikationen <br /> Kurze Lebensdauer <br /> Keine Produktlinie <br /> <br /> <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • Monkeytests <br /> - Test-Framework <br /> - Unit- + Integrationstest <br /> Man muss nicht alles Mocken sondern bekommt das frei Haus <br /> <br />
  • 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. <br /> <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • Problem weil nur Emulator Tests <br /> <br />
  • <br />
  • <br />
  • <br />
  • <br />

CI und Android - Wie geht das? MTC2010 CI und Android - Wie geht das? MTC2010 Presentation Transcript

  • 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 IT-Consultant arconsis IT-Solutions markus.kopf@arconsis.com
  • Motivation Bei mir geht’s!!!
  • Was ist CI? Continuous Integration ist ein Prozess der das regelmäßige, vollständige Bauen und Testen einer Anwendung beschreibt
  • Wo CI? Wo nicht
  • Benefits aus Entwicklersicht • Verfügbares Produkt • Integrationsaufwand • Code Qualität • Transparenz • Automatisierter Release
  • Benefits aus Managersicht • Verfügbares Produkt • Kontinuierliche Qualitätskontrolle • Reduzierung des Projektrisikos • Bus Faktor • Transparenz • Roadmap Planung
  • Typisches CI-System
  • CI-Artefakte Server • Bamboo • Cruise Control • Hudson • Verwendung von Hudson weil – Viele Plug-ins – Große Community – Sehr einfache Handhabung – Optisch ansprechend
  • 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 – Etabliert – IDE Support
  • 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 Deployment
  • 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: – Kein produktionsnahes Testen – Kein automatisches “Deployment”
  • 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/)