SlideShare ist ein Scribd-Unternehmen logo
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/)
CI und Android - Wie geht das? MTC2010

Weitere ähnliche Inhalte

Andere mochten auch

Der Ursprung des Urknalls
Der Ursprung des UrknallsDer Ursprung des Urknalls
Der Ursprung des Urknalls
fosbe
 
Green discoverer 022010
Green discoverer 022010Green discoverer 022010
Green discoverer 022010
Jens Bernitzky
 
Ackergaul 24.03.09
Ackergaul 24.03.09Ackergaul 24.03.09
Ackergaul 24.03.09
acryloni
 
BranchenThemen 03-2014 - Dossiers zu 15 Branchen
BranchenThemen 03-2014 - Dossiers zu 15 Branchen BranchenThemen 03-2014 - Dossiers zu 15 Branchen
BranchenThemen 03-2014 - Dossiers zu 15 Branchen
infobroker .de - Datenbank Informationsdienst Michael Klems
 
Water Disaster
Water DisasterWater Disaster
Water Disaster
Art 37
 
Claudia investigación de las plantas potabilizadoras
Claudia investigación de las plantas potabilizadorasClaudia investigación de las plantas potabilizadoras
Claudia investigación de las plantas potabilizadoras
Claudiaayuso
 
Reichenbach Empiricism
Reichenbach EmpiricismReichenbach Empiricism
Reichenbach Empiricism
brianjrose
 
Diagramas coloreados
Diagramas coloreadosDiagramas coloreados
Diagramas coloreados
anamantilla25
 

Andere mochten auch (20)

Vamos con gozo
Vamos con gozoVamos con gozo
Vamos con gozo
 
Patentrecherche mit Methode
Patentrecherche mit MethodePatentrecherche mit Methode
Patentrecherche mit Methode
 
Der Ursprung des Urknalls
Der Ursprung des UrknallsDer Ursprung des Urknalls
Der Ursprung des Urknalls
 
Web quest
Web questWeb quest
Web quest
 
Carnoy1004
Carnoy1004Carnoy1004
Carnoy1004
 
Green discoverer 022010
Green discoverer 022010Green discoverer 022010
Green discoverer 022010
 
Ackergaul 24.03.09
Ackergaul 24.03.09Ackergaul 24.03.09
Ackergaul 24.03.09
 
Kirche
KircheKirche
Kirche
 
BranchenThemen 03-2014 - Dossiers zu 15 Branchen
BranchenThemen 03-2014 - Dossiers zu 15 Branchen BranchenThemen 03-2014 - Dossiers zu 15 Branchen
BranchenThemen 03-2014 - Dossiers zu 15 Branchen
 
Water Disaster
Water DisasterWater Disaster
Water Disaster
 
Claudia investigación de las plantas potabilizadoras
Claudia investigación de las plantas potabilizadorasClaudia investigación de las plantas potabilizadoras
Claudia investigación de las plantas potabilizadoras
 
El coñac martel
El coñac martelEl coñac martel
El coñac martel
 
Reichenbach Empiricism
Reichenbach EmpiricismReichenbach Empiricism
Reichenbach Empiricism
 
Diagramas coloreados
Diagramas coloreadosDiagramas coloreados
Diagramas coloreados
 
Tarea sumativa.1
Tarea sumativa.1Tarea sumativa.1
Tarea sumativa.1
 
Green Discoverer October/November 09
Green Discoverer October/November 09Green Discoverer October/November 09
Green Discoverer October/November 09
 
Curso esmm juandiegogonzalez
Curso esmm juandiegogonzalezCurso esmm juandiegogonzalez
Curso esmm juandiegogonzalez
 
Dejad que los_niños
Dejad que los_niñosDejad que los_niños
Dejad que los_niños
 
12
1212
12
 
La biomecanina nicolas toro
La biomecanina nicolas toroLa biomecanina nicolas toro
La biomecanina nicolas toro
 

Ähnlich wie CI und Android - Wie geht das? MTC2010

Ähnlich wie CI und Android - Wie geht das? MTC2010 (20)

Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukasten
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-Pipeline
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickeln
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Advanced Continuous Integration
Advanced Continuous IntegrationAdvanced Continuous Integration
Advanced Continuous Integration
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
Webcast Azure Integration Migration - Von BizTalk in die Cloud
Webcast Azure Integration Migration - Von BizTalk in die CloudWebcast Azure Integration Migration - Von BizTalk in die Cloud
Webcast Azure Integration Migration - Von BizTalk in die Cloud
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernberg
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit Rails
 
DACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdfDACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdf
 

CI und Android - Wie geht das? MTC2010

  • 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
  • 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 – ...
  • 17.
  • 19. Automatisiere Build-Prozess Build testet Applikation Teste produktionsnah Halte Build-Prozess transparent Automatisiere Deployment
  • 20. Nutze Metriken Kurze Builds – Commit Build – Nightly Build – Integration Build
  • 21. Fazit • CI auch für Android • Build-Prozess leicht aufsetzbar • Erfahrungswerte aus der JEE-Welt vorhanden • ABER: – Kein produktionsnahes Testen – Kein automatisches “Deployment”
  • 22. 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/)

Hinweis der Redaktion

  1. Wieso nicht CI Hardwarekosten Installationsaufwand Mobile Applikationen Kurze Lebensdauer Keine Produktlinie
  2. Monkeytests - Test-Framework - Unit- + Integrationstest Man muss nicht alles Mocken sondern bekommt das frei Haus
  3. 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.
  4. Problem weil nur Emulator Tests