SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Markus Kopf
arconsis IT-Solutions
CI & Android Entwicklung
Wie geht das?
Agenda
• Motivation
• Wieso CI?
• Typisches CI-System
• Demo
• Best Practices
Bei mir geht’s!!!
Motivation
Was ist CI?
Continuous Integration ist ein
Prozess der das regelmäßige,
vollständige Bauen und Testen einer
Anwendung beschreibt
Wo CI? Wo nicht CI?
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
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 produktions-
nahes 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/)
mail Markus.Kopf@arconsis.com
xing www.xing.com/profile/Markus_Kopf
linkedin www.de.linkedin.com/in/markuskopf
twitter @kopf_markus
blog www.markuskopf.blogspot.com/

Contenu connexe

En vedette

Relevantes del jueves 7 de julio de 2011
Relevantes del jueves 7 de julio de 2011Relevantes del jueves 7 de julio de 2011
Relevantes del jueves 7 de julio de 2011Agenda Legislativa
 
Hartmann tresore-hotel-catalogue-2013
Hartmann tresore-hotel-catalogue-2013Hartmann tresore-hotel-catalogue-2013
Hartmann tresore-hotel-catalogue-2013Mail Box Production
 
Orígenes nº 20
Orígenes nº 20Orígenes nº 20
Orígenes nº 20asoagle
 
JournalofPrecisionMedicine_May_June2016
JournalofPrecisionMedicine_May_June2016JournalofPrecisionMedicine_May_June2016
JournalofPrecisionMedicine_May_June2016Franziska Moeckel, MBA
 
Customisation and localisation for international markets
Customisation and localisation for international marketsCustomisation and localisation for international markets
Customisation and localisation for international marketsEnterprise Ireland
 
Starting to Monkey Around With Yahoo! Search Monkey
Starting to Monkey Around With Yahoo! Search MonkeyStarting to Monkey Around With Yahoo! Search Monkey
Starting to Monkey Around With Yahoo! Search MonkeyNeil Crosby
 
Expo fisio neuro
Expo fisio neuroExpo fisio neuro
Expo fisio neuroangelobare
 
Wer ist fuer Gesundheit verantwortlich - Gemeinsam das BGM voranbringen - Teil 1
Wer ist fuer Gesundheit verantwortlich - Gemeinsam das BGM voranbringen - Teil 1Wer ist fuer Gesundheit verantwortlich - Gemeinsam das BGM voranbringen - Teil 1
Wer ist fuer Gesundheit verantwortlich - Gemeinsam das BGM voranbringen - Teil 1Dr. Anne Katrin Matyssek
 
Elibro+aromaterapia+para+todos
Elibro+aromaterapia+para+todosElibro+aromaterapia+para+todos
Elibro+aromaterapia+para+todosjoanjeka
 
Business Intelligence in SharePoint 2013
Business Intelligence in SharePoint 2013Business Intelligence in SharePoint 2013
Business Intelligence in SharePoint 2013Jason Himmelstein
 
FME WT 2014: (FR) Les possibilités de FME Desktop
FME WT 2014: (FR) Les possibilités de FME DesktopFME WT 2014: (FR) Les possibilités de FME Desktop
FME WT 2014: (FR) Les possibilités de FME DesktopGIM_nv
 
Referencement seo, referencement sea referencement sem referencement smo pour...
Referencement seo, referencement sea referencement sem referencement smo pour...Referencement seo, referencement sea referencement sem referencement smo pour...
Referencement seo, referencement sea referencement sem referencement smo pour...DMPROCONSEIL
 

En vedette (15)

Relevantes del jueves 7 de julio de 2011
Relevantes del jueves 7 de julio de 2011Relevantes del jueves 7 de julio de 2011
Relevantes del jueves 7 de julio de 2011
 
Hartmann tresore-hotel-catalogue-2013
Hartmann tresore-hotel-catalogue-2013Hartmann tresore-hotel-catalogue-2013
Hartmann tresore-hotel-catalogue-2013
 
Orígenes nº 20
Orígenes nº 20Orígenes nº 20
Orígenes nº 20
 
JournalofPrecisionMedicine_May_June2016
JournalofPrecisionMedicine_May_June2016JournalofPrecisionMedicine_May_June2016
JournalofPrecisionMedicine_May_June2016
 
Customisation and localisation for international markets
Customisation and localisation for international marketsCustomisation and localisation for international markets
Customisation and localisation for international markets
 
Starting to Monkey Around With Yahoo! Search Monkey
Starting to Monkey Around With Yahoo! Search MonkeyStarting to Monkey Around With Yahoo! Search Monkey
Starting to Monkey Around With Yahoo! Search Monkey
 
Expo fisio neuro
Expo fisio neuroExpo fisio neuro
Expo fisio neuro
 
Drop
DropDrop
Drop
 
Wer ist fuer Gesundheit verantwortlich - Gemeinsam das BGM voranbringen - Teil 1
Wer ist fuer Gesundheit verantwortlich - Gemeinsam das BGM voranbringen - Teil 1Wer ist fuer Gesundheit verantwortlich - Gemeinsam das BGM voranbringen - Teil 1
Wer ist fuer Gesundheit verantwortlich - Gemeinsam das BGM voranbringen - Teil 1
 
Hoy comemos sin_gluten
Hoy comemos sin_glutenHoy comemos sin_gluten
Hoy comemos sin_gluten
 
Elibro+aromaterapia+para+todos
Elibro+aromaterapia+para+todosElibro+aromaterapia+para+todos
Elibro+aromaterapia+para+todos
 
Velocidad de una reacción quimica
Velocidad de una reacción quimicaVelocidad de una reacción quimica
Velocidad de una reacción quimica
 
Business Intelligence in SharePoint 2013
Business Intelligence in SharePoint 2013Business Intelligence in SharePoint 2013
Business Intelligence in SharePoint 2013
 
FME WT 2014: (FR) Les possibilités de FME Desktop
FME WT 2014: (FR) Les possibilités de FME DesktopFME WT 2014: (FR) Les possibilités de FME Desktop
FME WT 2014: (FR) Les possibilités de FME Desktop
 
Referencement seo, referencement sea referencement sem referencement smo pour...
Referencement seo, referencement sea referencement sem referencement smo pour...Referencement seo, referencement sea referencement sem referencement smo pour...
Referencement seo, referencement sea referencement sem referencement smo pour...
 

Similaire à Gtug nov 2010

Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukastencusy GmbH
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everythingcusy GmbH
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOpscusy GmbH
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernbergcusy GmbH
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014WebcsonsultsEU
 
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.2023Johannes Kleinlercher
 
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-PipelineOPEN KNOWLEDGE GmbH
 
Vorlesung - Cloud Infrastrukturen - Einleitung | anynines
Vorlesung - Cloud Infrastrukturen - Einleitung | anyninesVorlesung - Cloud Infrastrukturen - Einleitung | anynines
Vorlesung - Cloud Infrastrukturen - Einleitung | anyninesanynines GmbH
 
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Bokowsky + Laymann GmbH
 
Executive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderExecutive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderBokowsky + Laymann GmbH
 
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 ...Andreas Wissel
 
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-ToolsAndreas Schreiber
 
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....NET User Group Rhein-Neckar
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndré Krämer
 
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)Marc Bless
 
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 EngineeringQAware GmbH
 
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 CloudAarno Aukia
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularINNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularAndreas Wissel
 

Similaire à Gtug nov 2010 (20)

Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukasten
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernberg
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014
 
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
 
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
 
Vorlesung - Cloud Infrastrukturen - Einleitung | anynines
Vorlesung - Cloud Infrastrukturen - Einleitung | anyninesVorlesung - Cloud Infrastrukturen - Einleitung | anynines
Vorlesung - Cloud Infrastrukturen - Einleitung | anynines
 
Advanced Continuous Integration
Advanced Continuous IntegrationAdvanced Continuous Integration
Advanced Continuous Integration
 
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
 
Executive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderExecutive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für Entscheider
 
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 ...
 
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
 
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...
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickeln
 
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)
 
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
 
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
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularINNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
 

Gtug nov 2010