Top Banner
Markus Kopf arconsis IT-Solutions CI & Android Entwicklung Wie geht das?
22

Gtug nov 2010

May 19, 2015

Download

Technology

Markus Kopf

Android Talks at Stut
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Gtug nov 2010

Markus Kopfarconsis IT-Solutions

CI & Android EntwicklungWie geht das?

Page 2: Gtug nov 2010

Agenda

• Motivation

• Wieso CI?• Typisches CI-System

• Demo

• Best Practices

Page 3: Gtug nov 2010

Bei mir geht’s!!!

Motivation

Page 4: Gtug nov 2010

Was ist CI?

Continuous Integration ist ein Prozess der das regelmäßige,

vollständige Bauen und Testen einer Anwendung beschreibt

Page 5: Gtug nov 2010

Wo CI? Wo nicht CI?

Page 6: Gtug nov 2010

Benefits aus Entwicklersicht

• Verfügbares Produkt

• Integrationsaufwand• Code Qualität

• Transparenz

• Automatisierter Release

Page 7: Gtug nov 2010

Benefits aus Managersicht

• Verfügbares Produkt

• Kontinuierliche Qualitätskontrolle• Reduzierung des Projektrisikos

• Bus Faktor

• Transparenz• Roadmap Planung

Page 8: Gtug nov 2010

Typisches CI-System

Page 9: Gtug nov 2010

CI-Artefakte Server

• Bamboo

• Cruise Control• Hudson

• Verwendung von Hudson weil– Viele Plug-ins

– Große Community– Sehr einfache Handhabung

– Optisch ansprechend

Page 10: Gtug nov 2010

CI-Artefakte Tools

• Ant– Build Skripte werden von Android initial

erstellt

• Maven– Verwendbar

Page 11: Gtug nov 2010

CI-Artefakte SCM

• SVN

• Git• CVS

• Verwendung von SVN– SVN + Hudson = gutes Team

– SVN ist sehr verbreitet– Etabliert

– IDE Support

Page 12: Gtug nov 2010

CI-Artefakte Tests

• Unit Tests

• Integration Test• Android Test-Framework

• UI Tests– Robotium

Page 13: Gtug nov 2010

CI-Artefakte Code

• Code Basis– NotePad Projekt

• Plattform– SDK (Android)

– Emulator / Device

Page 14: Gtug nov 2010

CI-Artefakte Reporting

• Testresults

• Statische Code-Analyse– Checkstyle

– PMD– Findbugs

– Sonar

– ...

Page 15: Gtug nov 2010

Mapping auf Android

Page 16: Gtug nov 2010
Page 17: Gtug nov 2010

Automatisiere Build-Prozess

Build testet ApplikationTeste produktionsnah

Halte Build-Prozess transparent

Automatisiere Deployment

Page 18: Gtug nov 2010

Nutze Metriken

Kurze Builds– Commit Build

– Nightly Build– Integration Build

Page 19: Gtug nov 2010

Fazit

• CI auch für Android

• Build-Prozess leicht aufsetzbar• Erfahrungswerte aus der JEE-Welt

vorhanden

• ABER:– Kein produktions-

nahes Testen

– Kein automatisches “Deployment”

Page 20: Gtug nov 2010

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

Page 21: Gtug nov 2010