Continuous Integration

Slides:



Advertisements
Ähnliche Präsentationen
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Advertisements

Forschungszentrum Informatik
GWT - google Web Toolkit
Eclipse.
Modellgetriebene Softwareentwicklung
PowerBuilder und SVN Erste Schritte bei der Versionsverwaltung von Softwareprojekten mit Subversion (SVN) PBUGG 2009, A. Schmidt.
Fortgeschrittenenpraktika WS 2003/04 Database Research Group, Prof. Dr. Bernhard Seeger Department of Mathematics and Computer Science University of Marburg.
Imperative Programmierung -Entwicklungswerkzeuge
eXist Open Source Native XML Database
Werkzeuge und Softwareumgebung von Christian Michele.
Einführung in die Entwicklungsumgebung
Software(technik)praktikum Tutorial: Subversion (SVN)
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
FH-Hof Tools Richard Göbel. FH-Hof Tools für die Veranstaltung JUnit: Testen ANT: Build-Tool Eclipse: Entwicklungsumgebung.
Java: Grundlagen der Sprache
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung X1 Sitzung X1: Packages & Wiederholung.
Werkzeuge und Softwareumgebung von Christian Michele.
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
XDoclet ETIS SS05.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Concurrent Versions System
Software Design Patterns Extreme Programming (XP).
Einführung in Visual C++
Portierung von Java nach C
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses
USE2ANT Die Umstellung von Use Makefiles zu Ant & Junit Von Isaac, Maleen und Marc.
GIT und Redmine Übung.
Coccon das Web-XML-Publishing System Thomas Haller.
Software-Projektführung
Abschlusspräsentation Semesteraufgabe 2007
Einführung in die Programmiersprache Java
Vortrag D. Braun, Praktikum. Übersicht Pleopatra API Pleopatra Tools Twitter Demonstration Ausblick.
Continuous Integration mit Jenkins
MDA – Framework AndroMDA
Digitale Bibliotheken. Dient zum Aufbau und zur Verbreitung digitaler Bibliotheken Basiert auf Java Existiert seit 2000 Entwickelt wurde sie von dem New.
App-Entwicklung mit HTML5, CSS und JavaScript
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Sesame Florian Mayrhuber
Ruby Refactoring Plug-In für Eclipse
Torque robert.resch-wolfgang.schneider. uebersicht Was ist Torque Komponenten von Torque Generator Erzeugte Klassen Methoden Torque in Turbine Demobeispiel.
Ausgangslage Historie
Marco Behnke Git free & open source, distributed version control system Git.
Eine kurze Einführung.  Software zur Erstellung eines Dokumenten- servers  Dient zur Aufbewahrung von allen Typen von digitalen Inhalten (Texte, Bilder,
Eclipse – PHP Tool Integration (PTI) Sven Kiera, TWT Interactive GmbH.
Attack Tool Kit (ATK) Project Marc Ruef Alle Rechte vorbehalten – Kopieren erlaubt.
Visual Age und Rational Rose Daniel Faensen. 2 Übersicht  Integration Rational Rose und VisualAge (Forward / Reverse Engineering)  Team-Unterstützung.
Das Build-Tool ANT ETIS SS04. ant 2 Gliederung Motivation Build-Datei build.xml Bestandteile build.xml –Properties Zusammenfassung.
Git und TFS - Ein ungleiches Paar? zu Gast bei:.net User Group Ulm und Oberschwaben.
syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
Thomas Rau, Peter Brichzin Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
HORIZONT 1 Product HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / Das IT – Informationssystem.
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
© Copyright INFORM GmbH Seminarvortrag im Studiengang Scientific Programming von Nicole Küpper am Analyse des Updatevorgangs und Auswahl.
© 2013 TravelTainment Die Buildsysteme Ant und Maven im Vergleich Seminarvortrag von Janina Clever.
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Webdeployment auf Cluster Seminarvortrag von Lukas Bonzelett.
, Jens Rettig1 Einsatz von Versionsverwaltungstools im ORACLE – Umfeld Dipl.-Inform. Jens Rettig
Technik und Informatik Project STUMR Team „olimination“ Datum 18. Januar 2011 Eine Präsentation von: Remo Albertani Oliver Burkhalter Steven Heller Thomas.
EFFORTMANAGEMENT Jan Gerber Simon Hofmann Lukas Nonnenmacher.
Das SVN Eclipse Plugin. Wofür ist SVN gedacht? Nutzung von SVN mit Eclipse Perspektive einrichten Repository einbinden Mit dem Repository arbeiten Konflikt.
Maven NetBeans Platform RCP Development Aljoscha Rittner Sepix GmbH, NetBeans Dreamteam Member
FH München Florian Schwarz Software Engineering II Übung zur Vorlesung Continuous Delivery.
Java Testtools: HTTPUnit
von Valentin Durst und Steffi Klein
Continuous Integration
Paketzyklen – Diagnose, Therapie und Prophylaxe
 Präsentation transkript:

Continuous Integration Vorbereitet von: Lekbir Ouadghiri Idrissi

Gliederung Continuous Integration Einsatz von Android-App Einführung Vorgehensweise Build-Management-Tools Continuous Integration Tools Einsatz von Android-App Build-Prozess des Android-App Build-Prozess als ANT-Skript Automatisierung des Build-Prozesses Pina-Collada 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 2

1. Continuous Integration 1- Einführung Überwachung Kenntnis des Build-Prozesses Build erstellen Benachrichtigung Commit / push Person Entwickler Repository Check out / update 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 3

1. Continuous Integration 2- Vorgehensweise: Bericht versenden Commit / push Build erstellen / testen Entwickler Build-Management -Tool Repository Continuous Integration Check out / update 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 4

1. Continuous Integration 3- Build-Management-Tools: Werkzeuge zum automatisierten Erzeugen aus Quelltexten Tools-Beispiele: Ant, Maven, Rake, Make Benötigen einer Datei für die Beschreibung des Prozesses 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 5

1. Continuous Integration 3- Build-Management-Tools (Ant): Apache-Projekt basiert auf Java Open Source entwickelt von James Duncan Davidson Quelle: http://de.wikipedia.org/wiki/Apache_Ant 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 6

1. Continuous Integration 3- Build-Management-Tools (Ant): Häufig verwendete Tasks: Javac Copy Delete Replace JUnit Mail Exec Über 150 Task 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 7

1. Continuous Integration 3- Build-Management-Tools (Ant): Beispiel: build.xml Kommandozeile: ant ant build.start ant task.1 ant task.2 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 8

1. Continuous Integration 3- Build-Management-Tools (Ant): Eigenen Task erstellen A.java Build.xml 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 9

1. Continuous Integration 4- Continuous Integration Tools: Hudson Jenkins CruiseControll Continuum FinalBuilder 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 10

1. Continuous Integration 4- Continuous Integration Tools (Jenkins): Webanwendung basiert auf Java Open Source entwickelt von „Kohsuke Kawaguchi“ verfügbar als WAR-Datei verfügbar mit eigenem Server Erweiterung durch Plugins Quelle: http://jenkins-ci.org Kohsuke Kawaguchi Quelle: http://kohsuke.org/about/ 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 11

2. Einsatz von Android-App 1. Build-Prozess des Android-App Quelle: Einführung in die Android Entwicklung 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 12

2. Einsatz von Android-App 1. Build-Prozess des Android-App Generierung von APK-Datei: Inhalt: Dalvik-Bytecode: *.dex Ressourcen: Bilder, Sound, Videos, XML-dateien, …usw. Native Bibliotheken: C/C++-Bibliotheken 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 13

2. Einsatz von Android-App 2. Build-Prozess als ANT-Skript „Es mag so aussehen, als müssten Sie bei Android in Bezug auf Java erheblich mehr Dinge tun. Aber diese Kompilationsschritte werden von Werkzeugen wie Eclipse und Ant automatisiert, so dass Sie sie überhaupt gar nicht bemerken werden. „ -- Marko Gargenta 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 14

2. Einsatz von Android-App 2. Build-Prozess als ANT-Skript *.java -----> *.class *.class -----> classes.dex 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 15

2. Einsatz von Android-App 2. Build-Prozess als ANT-Skript Generierung von APK-Datei 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 16

2. Einsatz von Android-App 3. Automatisierung des Build-Prozesses Automatische Generierung von ANT-Skript: Generierung von APK-Datei android update project --path <Projekt-Pfad> ant debug 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 17

2. Einsatz von Android-App 4. Pina-Collada Der Build-Prozess besteht aus zwei Teilen: Die Umwandlung von OBJ-Dateien in Java-Dateien und das Kopieren dieser Dateien in den Src-Ordner von Pina-Collada. Die Generierung von APK-Datei. 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 18

2. Einsatz von Android-App 4. Pina-Collada OBJ-Parser *.jj javacc *.java Die nötigen Klassen für die Klasse Generator *.java javac *.class Hier wird die Klasse Generator die OBJ-Dateien in Java-Klassen umwandeln *.obj Java Befehl mit der OBJ-Datei als Argument *.java Kopieren Pina-Collada Source Ordner 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 19

2. Einsatz von Android-App 4. Pina-Collada *.jj *.java 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 20

2. Einsatz von Android-App 4. Pina-Collada *.obj *.java 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 21

Quelle http://de.wikipedia.org/wiki/Jenkins_%28Software%29 http://kohsuke.org/ http://de.wikipedia.org/wiki/Apache_Ant http://jenkins-ci.org/ http://www.youtube.com/watch?v=ILKGgxLF1X4&feature=related Marko Gargenta 2011, Einführung in die Android Entwicklung, Verlag O’REILLY 07.05.2012 INF 6 – Lekbir Ouadghiri Idrissi Continuous Integration 22

Danke für das Zuhören Noch Fragen ?